示例#1
0
        private void _setAccess(string subject, string authorizationItemKey, AccessResults result)
        {
            var     userManager = HttpContext.Current.GetOwinContext().GetUserManager <AppUserManager>();
            AppUser user        = userManager.FindByName(subject);

            if (user != null)
            {
                if (GetRoles().Any(x => x.Key == authorizationItemKey))
                {
                    userManager.AddToRole(user.Id, authorizationItemKey);
                }
                else
                {
                    user.Access = result == AccessResults.Allow ? user.Access.TryAppend(authorizationItemKey, ',') : user.Access.TryRemove(authorizationItemKey, ',');
                    userManager.Update(user);
                }
            }
        }
示例#2
0
 public void SetAccess(string owener, string subject, string authorizationItemKey, AccessResults result)
 {
     _setAccess(subject, authorizationItemKey, result);
 }