/// <summary> /// 授予用户操作权限 /// </summary> /// <param name="sysId"></param> /// <param name="userId"></param> /// <param name="selectedRightIds">当前选择授予的权限列表</param> public void AddUserRights(int sysId, int userId, List <int> selectedRightIds) { if (sysId <= 0) { throw new NotRightException(); } //权限判断 User user = loginService.HaveAdminRightForUserGrant(sysId, userId, true); //不能直接给渠道方面的用户分配操作权限,只能给他们分配角色 if (user.AccountType == UserTypeOptions.Channel || user.AccountType == UserTypeOptions.ChannelPartner) { throw new NotRightException(); } List <int> rangeRightIds = loginService.LoginUser.AccountType == UserTypeOptions.ProductAdmin ? DARightsHelper.GetUserRights(sysId, loginService.LoginUser.ID, loginService.LoginUser.AccountType).Select(a => a.RightID).ToList() : null; DARightsHelper.AddUserRights(sysId, userId, selectedRightIds, rangeRightIds); //记录登录日志 string rights = string.Empty; selectedRightIds.ForEach((i) => { rights += i.ToString() + ","; }); rights = rights.TrimEnd(','); loginService.AddLog( "AddUserRights", string.Format("添加用户权限(UserID={0},SysID={1},Rights={2})", userId, sysId, rights)); }