Пример #1
0
        /// <summary>
        /// 判断这个用户是否有某个权限
        /// </summary>
        /// <param name="permission"></param>
        /// <returns></returns>
        public bool?HasPermission(string[] permission)
        {
            bool?ret = null;

            var permissions = this.UserToPermission;

            if (permissions != null)
            {
                var hold = permissions.Select(s => s.Permission).ToList();
                ret = PermissionUtil.HasPermissionIn(hold, permission);
            }

            if (ret != null)
            {
                return(ret);
            }

            var groupToUser = this.GroupToUser;

            foreach (var group in groupToUser)
            {
                var result = group.Group.HasPermission(permission);
                if (result == false)
                {
                    return(false);
                }
                if (result == true)
                {
                    ret = true;
                }
            }

            return(ret);
        }
Пример #2
0
        /// <summary>
        /// 判断这个用户组是否有某个权限
        /// </summary>
        /// <param name="permission"></param>
        /// <returns></returns>
        public bool?HasPermission(string[] permission)
        {
            // 获取本用户组拥有的权限
            var permissions = this.GroupToPermission;

            if (permissions == null)
            {
                return(null);
            }
            List <string> hold = permissions.Select(groupToPermission => groupToPermission.Permission).ToList();

            hold.Sort();

            return(PermissionUtil.HasPermissionIn(hold, permission));
        }