/// <summary>
        /// 授予指定角色指定的操作权限
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="roleName">角色名</param>
        /// <param name="permissionItemCode">权限编号</param>
        /// <returns>主键</returns>
        public string GrantRolePermission(UserInfo userInfo, string roleName, string permissionItemCode)
        {
            string returnValue = string.Empty;
            var    parameter   = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty);

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var roleManager           = new PiRoleManager(dbProvider, userInfo);
                var roleId                = roleManager.GetId(PiRoleTable.FieldRealName, roleName);
                var permissionItemManager = new PiPermissionItemManager(dbProvider, userInfo);
                var permissionItemId      = permissionItemManager.GetId(PiPermissionItemTable.FieldCode, permissionItemCode);
                if (!String.IsNullOrEmpty(roleId) && !String.IsNullOrEmpty(permissionItemId))
                {
                    var rolePermissionManager = new RolePermissionManager(dbProvider, userInfo);
                    returnValue = rolePermissionManager.Grant(roleId, permissionItemId);
                }
            });
            return(returnValue);
        }
示例#2
0
        public bool UserInRole(string userId, string roleCode)
        {
            var returnValue = false;

            if (string.IsNullOrEmpty(roleCode))
            {
                return(false);
            }
            var roleManager = new PiRoleManager(this.DBProvider, this.UserInfo);
            var roleId      = roleManager.GetId(PiRoleTable.FieldDeleteMark, 0, PiRoleTable.FieldCode, roleCode);

            if (string.IsNullOrEmpty(roleId))
            {
                return(false);
            }
            var roleIds = GetAllRoleIds(userId);

            returnValue = BusinessLogic.Exists(roleIds, roleId);
            return(returnValue);
        }
示例#3
0
        /// <summary>
        /// 用户是否在某个角色中
        /// </summary>
        /// <param name="userId">用户主键</param>
        /// <param name="realName">角色</param>
        /// <returns>存在</returns>
        public bool IsInRole(string userId, string realName)
        {
            var returnValue = false;

            if (string.IsNullOrEmpty(realName))
            {
                return(false);
            }
            var roleManager = new PiRoleManager(this.DBProvider, this.UserInfo);
            var roleId      = roleManager.GetId(PiRoleTable.FieldDeleteMark, 0, PiRoleTable.FieldRealName, realName);

            if (string.IsNullOrEmpty(roleId))
            {
                return(false);
            }
            var roleIds = GetAllRoleIds(userId);

            returnValue = StringHelper.Exists(roleIds, roleId);
            return(returnValue);
        }