窗体权限
V2301
重载窗体InitAuthorize方法即可初始化权限
窗体权限分为通用权限
和用户扩展权
限两种,均在initAuthorize中支持定义
C# 全选
/// <summary>
/// 初始化权限
/// </summary>
protected override void InitAuthorize()
{
base.InitAuthorize();
this.FormCommonAuthority = this.FormCommonAuthority | FunctionAuthorityCommon.APPROVAL | FunctionAuthorityCommon.UNAPPROVAL | FunctionAuthorityCommon.PREVIEW;
AddExtensionAuthroze(FunctionAuthority.EX_01, "刷新工序");
AddExtensionAuthroze(FunctionAuthority.EX_02, "修改条码数量");
}
旧版本V2301以前
YESWin Winform开发框架
中窗体权限介绍
YESwin winform开发框架
窗体权限采用或运算机制,
功能权限可用值在 YESWin.UI.Core.FunctionAuthority 中
YESWin.UI.Core.FunctionAuthorityCommon 设定了 YESWin
开发框架
中的默认已占用的公共权限值,扩展权限的时候,应该避免使用这一部分
一、窗体权限定义 FormAuthority
重载 窗体属性CurrentAuthority,在 frmBaseData 基类窗体中定义的,功能窗体继承 frmBaseData 时,重写这个属性 CurrentAuthority 来定义窗体的权限
protectedoverrideint FormAuthority
{
get
{
return base.CustomerAuthority;
}
}
GarsonZhang www.yesdotnet.com
该属性默认为:
//当前窗体初始化的公共权限 protected override int FormAuthority { get { return FunctionAuthorityCommon.ADD//新增 + FunctionAuthorityCommon.EDIT//修改 + FunctionAuthorityCommon.DELETE;//删除 //+ FunctionAuthorityCommon.Save//保存 //+ FunctionAuthorityCommon.Cancel;//取消 } }
GarsonZhang www.yesdotnet.com
可以使用的权限值:参考 YESWin.UI.Core.FunctionAuthority 类
属性 | 名称 | 权限值 |
NONE | 没有任何权限 | 0 |
FVIEW | 访问权限,每个窗体都应该有 | 1 |
ADD | 新增 | 2 |
DELETE | 删除 | 4 |
EDIT | 修改 | 8 |
SaveEx | 保存 | 16 |
SaveAndCloseEx | 保存后关闭 | 64 |
APPROVAL | 审核 | 32 |
PREVIEW | 打印预览 | 128 |
Export | 导出 | 256 |
CancelEx | 返回/取消 | 512 |
Refresh | 刷新 | 1024 |
EX_01 | 扩展权限 | 2048 |
EX_02 | 扩展权限 | 4096 |
EX_03 | 扩展权限 | 8192 |
EX_04 | 扩展权限 | 16384 |
EX_05 | 扩展权限 | 32768 |
EX_06 | 扩展权限 | 65536 |
ALL | 所有权限 | 1073741823 |
二、设置权限名称
权限名称,frmBaseChild 基类中使用 SetAuthorizeName 方法来设置权限名称
frmBaseChild 中提供一个虚拟函数 InitAuthorize(),会在构造器中调用这个函数
/// <summary> /// 构造函数 /// </summary> public frmBaseChild() { InitializeComponent(); //if (CheckDesingModel.IsDesingMode()) return; if (this.isDesignTime) return; this.WindowState = System.Windows.Forms.FormWindowState.Maximized; _Buttons = new RibbonBarButtonCollection(); this.Load += frmChildBase_Load; this.InitAuthorize(); } /// <summary> /// 初始化权限 /// </summary> protected virtual void InitAuthorize() { SetAuthorizeName(FunctionAuthorityCommon.FVIEW, "查看"); }
GarsonZhang www.yesdotnet.com
因此我们只需要重构 frmBaseChild 中的 IniAuthorize() 方法,就能修改权限名称了
protected override void InitAuthorize()
{
base.InitAuthorize();
// 设置Ex01的权限名称
SetAuthorizeName(FunctionAuthority.EX_01, "布局调整");
}
三、取消窗体的查看(访问)权限,不需要展示窗体
YESWin.UI.Dev.LibForm.frmBaseChild 中 默认会给权限增加一个公共权限值 1 FunctionAuthorityCommon.FVIEW 访问权限
/// <summary> /// 当前窗体权限 /// </summary> protected virtual int FormAuthorityAll { get { return FormAuthority | FunctionAuthorityCommon.FVIEW; } }
GarsonZhang www.yesdotnet.com
因此,我们重写该属性
protected override int FormAuthorityAll => this.FormAuthority;
修改完之后
权限中就没有了访问权限
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YESWinform YES开发框架