/// <summary>
        /// 获取指定用户的角色
        /// </summary>
        /// <param name="sysId"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public List <int> GetUserRoles(int sysId, int userId)
        {
            //权限判断
            User user = loginService.HaveAdminRightForUserGrant(sysId, userId, true);

            return(DARightsHelper.GetUserRoles(sysId, userId));
        }
Beispiel #2
0
 /// <summary>
 /// 获取用户的角色列表
 /// </summary>
 /// <param name="sysId"></param>
 /// <returns></returns>
 private List <int> GetMyRoleIds(int sysId)
 {
     if (myRoleIds == null)
     {
         myRoleIds = DARightsHelper.GetUserRoles(sysId, LoginUser.ID);
     }
     return(myRoleIds);
 }
        /// <summary>
        /// 获取角色列表
        /// </summary>
        /// <param name="sysId"></param>
        /// <returns></returns>
        public List <Role> GetRoles(int sysId)
        {
            //权限判断
            loginService.HaveAdminRight(sysId);

            List <Role> roles = DABasicInfoHelper.GetRoles(sysId);

            if (loginService.LoginUser.AccountType == UserTypeOptions.ProductAdmin)
            {
                List <int> rangeRoles     = DARightsHelper.GetUserRoles(sysId, loginService.LoginUser.ID);
                var        availableRoles = from r in roles
                                            join rr in rangeRoles
                                            on r.ID equals rr
                                            select r;
                return(availableRoles.ToList());
            }
            return(roles);
        }
        /// <summary>
        /// 批量添加用户角色
        /// </summary>
        /// <param name="sysId"></param>
        /// <param name="userId"></param>
        /// <param name="selectedRoleIds">已选择的角色</param>
        public void AddUserRoles(int sysId, int userId, List <int> selectedRoleIds)
        {
            //权限判断
            loginService.HaveAdminRightForUserGrant(sysId, userId, true);

            List <int> rangeRoleIds = loginService.LoginUser.AccountType == UserTypeOptions.ProductAdmin
                                         ? DARightsHelper.GetUserRoles(sysId, loginService.LoginUser.ID)
                                         : null;

            DARightsHelper.AddUserRoles(sysId, userId, selectedRoleIds, rangeRoleIds);

            //记录登录日志
            string roles = string.Empty;

            selectedRoleIds.ForEach((i) => { roles += i.ToString() + ","; });
            roles = roles.TrimEnd(',');
            loginService.AddLog(
                "AddUserRoles",
                string.Format("添加用户角色(UserID={0},SysID={1},Roles={2})", userId, sysId, roles));
        }