Exemple #1
0
        public bool Authorize(string permission, IUser user)
        {
            if (permission.IsNullOrWhiteSpace())
            {
                return(true);
            }
            if (user == null)
            {
                return(false);
            }
            if (_userPermissions != null && _userPermissions.ContainsKey(user.UserID))
            {
                return(_userPermissions[user.UserID].Any(m => m.PermissionKey == permission));
            }

            _userPermissions = _userPermissions ?? new Dictionary <string, IEnumerable <Permission> >();

            var roles = UserRoleRelationService.Get(m => m.UserID == user.UserID).ToList(m => m.RoleID);
            List <Permission> permissions = new List <Permission>();

            RoleService.Get(m => roles.Any(r => r == m.ID) && m.Status == (int)RecordStatus.Active)
            .Each(r =>
            {
                var pers = PermissionService.Get(m => m.RoleId == r.ID).ToList();
                if (pers.Any())
                {
                    permissions.AddRange(pers);
                }
            });
            _userPermissions.Add(user.UserID, permissions);
            return(permissions.Any(m => m.PermissionKey == permission));
        }
Exemple #2
0
        public ActionResult GetForm(string primaryKey)
        {
            var entity = UserService.Get(primaryKey);

            entity.RoleId   = UserRoleRelationService.GetList(entity.Id).Select(c => c.SURRRoleId).ToList();
            entity.DeptName = OrganizeService.Get(entity.SUDepartmentId.ToString()).SOFullName;
            return(Content(entity.ToJson()));
        }
Exemple #3
0
        public ActionResult Form(Sys_User model, string password, string roleIds)
        {
            var roleList = ConvertHelper.IntList(roleIds);

            if (model.Id == 0)
            {
                model.RoleId   = roleList;
                model.Password = password;
                var userId = UserService.InsertAll(model);
                return(userId > 0 ? Success() : Error());
            }
            else
            {
                //更新用户基本信息。
                int row = UserService.Update(model);
                //更新用户角色信息。
                UserRoleRelationService.SetRole(model.Id, roleList);
                return(row > 0 ? Success() : Error());
            }
        }