/// <summary> /// 获取用户主键数组通过指定操作权限 /// </summary> /// <param name="userInfo">用户</param> /// <param name="permissionItemId">操作权限主键</param> /// <returns>用户主键数组</returns> public string[] GetUserIdsByPermissionItemId(UserInfo userInfo, string permissionItemId) { string[] returnValue = null; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.PermissionService_GetUserIdsByPermissionItemId); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var userPermissionManager = new UserPermissionManager(dbProvider, userInfo); returnValue = userPermissionManager.GetUserIds(permissionItemId); }); return(returnValue); }
/// <summary> /// 清除指定用户的所有权限 /// /// 1.清除用户的角色归属。 /// 2.清除用户的模块权限。 /// 3.清除用户的操作权限。 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userId">用户主键</param> /// <returns>受影响的行数</returns> public int ClearUserPermissionByUserId(UserInfo userInfo, string userId) { var returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.PermissionService_ClearUserPermissionByUserId); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { returnValue = new UserPermissionManager(dbProvider, userInfo).ClearUserPermissionByUserId(userId); }); return(returnValue); }
/// <summary> /// 单个删除 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>影响行数</returns> public int Delete(UserInfo userInfo, string id) { int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_Delete, "主键:" + id); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { var userManager = new PiUserManager(dbProvider, userInfo); returnValue = userManager.Delete(id); //已经被删除的用户的UserId设置为Null userManager.CheckUserStaff(); returnValue += new UserPermissionManager(dbProvider, userInfo).ClearUserPermissionByUserId(id); }); return(returnValue); }
/// <summary> /// 清除指定用户的所有权限 /// /// 1.清除用户的角色归属。 /// 2.清除用户的模块权限。 /// 3.清除用户的操作权限。 /// </summary> /// <param name="userId">用户主键</param> /// <returns>大于0回收成功</returns> public int ClearUserPermissionByUserId(string userId) { int returnValue = 0; PiUserRoleManager userRoleManager = new PiUserRoleManager(DBProvider, UserInfo); returnValue += userRoleManager.EliminateRoleUser(userId); var userPermissionManager = new UserPermissionManager(DBProvider, UserInfo); returnValue += userPermissionManager.RevokeAll(userId); var userPermissionScopeManager = new UserScopeManager(DBProvider, UserInfo); returnValue += userPermissionScopeManager.RevokeAll(userId); return(returnValue); }
/// <summary> /// 批量授予用户操作权限 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userIds">用户主键数组</param> /// <param name="grantPermissionItemIds">授予操作权限主键数组</param> /// <returns>影响的行数</returns> public int GrantUserPermissions(UserInfo userInfo, string[] userIds, string[] grantPermissionItemIds) { var returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.PermissionService_GrantUserPermissions); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var userPermissionManager = new UserPermissionManager(dbProvider, userInfo); if (userIds != null && grantPermissionItemIds != null) { returnValue += userPermissionManager.Grant(userIds, grantPermissionItemIds); } }); return(returnValue); }
/// <summary> /// 授予指定用户指定的操作权限 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userId">用户主键</param> /// <param name="grantPermissionItemId">授予操作权限主键</param> /// <returns>影响的行数</returns> public string GrantUserPermissionById(UserInfo userInfo, string userId, string grantPermissionItemId) { string returnValue = string.Empty; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.PermissionService_GrantUserPermissionById); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var userPermissionManager = new UserPermissionManager(dbProvider, userInfo); if (grantPermissionItemId != null) { returnValue = userPermissionManager.Grant(userId, grantPermissionItemId); } }); return(returnValue); }
/// <summary> /// 撤消指定用户指定的操作权限 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userId">用户主键</param> /// <param name="revokePermissionItemId">撤消的操作权限主键</param> /// <returns>影响的行数</returns> public int RevokeUserPermissionById(UserInfo userInfo, string userId, string revokePermissionItemId) { var returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.PermissionService_RevokeUserPermissionById); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var userPermissionManager = new UserPermissionManager(dbProvider, userInfo); if (revokePermissionItemId != null) { returnValue += userPermissionManager.Revoke(userId, revokePermissionItemId); } }); return(returnValue); }