示例#1
0
        private async Task <List <User> > PermissionCheck(SimplePermissionType type)
        {
            var list = new List <User>();

            foreach (var user in _db.Fetch <User>())
            {
                var claimsPrincipal = await _factory.CreateAsync(user);

                var notify = (await _authorization.AuthorizeAsync(claimsPrincipal, null,
                                                                  SimplePermissionRequirement.For(type))).Succeeded;
                if (notify)
                {
                    list.Add(user);
                }
            }

            return(list);
        }
示例#2
0
 public static SimplePermissionRequirement For(SimplePermissionType permission)
 {
     return(new SimplePermissionRequirement(new SimplePermission(permission)));
 }
示例#3
0
 public PermissionAttribute(SimplePermissionType permission) : base($"Permission{permission}")
 {
 }
示例#4
0
 public SimplePermission(SimplePermissionType permission)
 {
     Permission = permission;
 }