Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #6
0
        /// <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);
        }
Beispiel #7
0
        /// <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);
        }