本文整理汇总了C#中IUserInfo.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# IUserInfo.GetType方法的具体用法?C# IUserInfo.GetType怎么用?C# IUserInfo.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IUserInfo
的用法示例。
在下文中一共展示了IUserInfo.GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetAuthorizations
public IList<bool> GetAuthorizations(IUserInfo userInfo, IList<Claim> requiredClaims)
{
if (!(userInfo is IWindowsUserInfo))
throw new FrameworkException("Unexpected userInfo type '" + userInfo.GetType().FullName + "'.");
if (_roleRepository.Value.Query().Take(1).Select(role => role.ID).ToList().Count > 0)
throw new FrameworkException("SimpleWindowsAuth does not support roles. Please delete roles from Common.Role or use a different security package.");
var userMembership = (IList<string>)_windowsSecurity.GetIdentityMembership(userInfo.UserName);
var userPermissions = _permissionLoader.Value.LoadPermissions(requiredClaims, userMembership);
_logger.Trace(() => "User " + userInfo.UserName + " has roles: " + string.Join(", ", userMembership) + ".");
_logger.Trace(() => ReportPermissions(userInfo, userPermissions, requiredClaims));
HashSet<string> hasClaims = new HashSet<string>();
foreach (IPermissionBrowse permission in userPermissions)
if (permission.IsAuthorized.Value)
hasClaims.Add(permission.ClaimResource + "." + permission.ClaimRight);
foreach (IPermissionBrowse permission in userPermissions)
if (!permission.IsAuthorized.Value)
hasClaims.Remove(permission.ClaimResource + "." + permission.ClaimRight);
return requiredClaims.Select(requiredClaim => hasClaims.Contains(requiredClaim.FullName)).ToArray();
}