金蝶云星空业务对象自定义按钮进行权限控制

86 篇文章 1 订阅
33 篇文章 0 订阅

金蝶云星空业务对象自定义按钮进行权限控制

背景说明

金蝶标准:权限绑定操作,操作绑定按钮。
实际需求:按钮不绑定操作,直接验权。

创建按钮

菜单集合

在这里插入图片描述

列表菜单

在这里插入图片描述

创建权限项

在这里插入图片描述

在这里插入图片描述

添加权限项到权限对象

在这里插入图片描述

创建公共权限服务


using Kingdee.BOS;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.Permission;
using Kingdee.BOS.ServiceHelper;


namespace MM.K3.Business.Common
{
    /// <summary>
    /// 功能描述    :权限公共服务  
    /// 创 建 者    :Administrator
    /// 创建日期    :2023/10/11 10:56:46 
    /// 最后修改者  :Krystal
    /// 最后修改日期:2023/10/11 10:56:46 
    /// </summary>
    public class PermissionFunc
    {
        #region <常量>
        #endregion <常量>

        #region <变量>
        #endregion <变量>

        #region <属性>
        #endregion <属性>

        #region <构造方法和析构方法>
        #endregion <构造方法和析构方法>

        #region <方法>

        /// <summary>
        /// 校验是否有权限
        /// </summary>
        /// <param name="ctx">上下文</param>
        /// <param name="view">表单视图</param>
        /// <param name="sPermissionItemId">权限项的id:表 T_SEC_PERMISSIONITEM的FITEMID</param>
        /// <param name="isShowMsg">是否提示无权,默认是</param>
        /// <returns></returns>
        public static bool AuthorizePermissionForEdit(Context ctx
            , IDynamicFormView view, string sPermissionItemId, bool isShowMsg = true)
        {
            string id = view.BillBusinessInfo.GetForm().Id;//业务对象标识
            string strPerItemId = sPermissionItemId;
            BusinessObject bizObject = new BusinessObject
            {
                Id=id,
                SubSystemId=view.OpenParameter.SubSystemId,
                PermissionControl=1
            };
            if (PermissionServiceHelper.FuncPermissionAuth(ctx,bizObject,strPerItemId).Passed)
            {
                return true;
            }
            if (isShowMsg)
            {
                view.ShowMessage("您没有权限执行此操作。");
            }
            return false;
        }
        #endregion <方法>

        #region <事件>
        #endregion <事件>
    }
}

表单插件编码实现

在这里插入图片描述

列表插件编码实现

在这里插入图片描述

测试

不授权

在这里插入图片描述
提示无权。符合预期。

授权

在这里插入图片描述
在这里插入图片描述
不再提示无权,且能提示权限校验之后的其他校验。说明权限验证通过,符合预期。

总结

将验证做成公共方法,因为很多场景都是只有按钮,没有操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值