本文整理汇总了C#中PermissionInfo.New方法的典型用法代码示例。如果您正苦于以下问题:C# PermissionInfo.New方法的具体用法?C# PermissionInfo.New怎么用?C# PermissionInfo.New使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PermissionInfo
的用法示例。
在下文中一共展示了PermissionInfo.New方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Contains
/// <summary>
///
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public override bool Contains(PermissionInfo item)
{
if (sharedPermissions.Contains(item))
return true;//共享权限包含,无论权限类型都将包含此权限
if (item is OrgPermission)//要判断的权限为机构权限
return selfPermission.Contains(item) || managedUserGroup.Contains(item);//自身机构包含此权限或者可管理用户组中包含此权限
else if (item.Name.Contains(OrgPermission.RES_TAG))
{
//要判定的权限,具有@@机构与资源的路径分隔符,则:
string resPath = item.Name.Substring(item.Name.IndexOf(OrgPermission.RES_TAG + OrgPermission.RES_TAG.Length));
if (selfPermission.Contains(item))
{
//自身机构能包含此权限的机构,取后续的资源权限,只要角色的资源部分拥有此权限(在org机构权限满足的条件下,将忽略角色中的机构部分)进行判断资源权限
if (role.ContainsRes(item.New(resPath)))
return true;
else
return managedUserGroup.Contains(item);
}
else
{
//自身机构不包含要判定的权限,只能通过角色和可管理的用户组判定
return role.Contains(item) || managedUserGroup.Contains(item);
}
}
else
{
//没有机构分割标记路径的权限,则只能通过角色和可管理的用户组以及基类判定
return role.Contains(item) || managedUserGroup.Contains(item) || base.Contains(item);
}
}