Example #1
0
        /// <summary>
        /// 检查权限
        /// </summary>
        /// <param name="httpContext"></param>
        /// <returns></returns>
        private static bool CheckAuthorzie(DefaultHttpContext httpContext)
        {
            // 获取权限特性
            var securityDefineAttribute = httpContext.GetMetadata <SecurityDefineAttribute>();

            if (securityDefineAttribute == null)
            {
                return(true);
            }

            return(App.GetService <IAuthorizationManager>().CheckSecurity(securityDefineAttribute.ResourceId));
        }
Example #2
0
        /// <summary>
        /// 检查权限
        /// </summary>
        /// <param name="httpContext"></param>
        /// <returns></returns>
        private static async Task <bool> CheckAuthorzieAsync(DefaultHttpContext httpContext)
        {
            // 获取权限特性
            var securityDefineAttribute = httpContext.GetMetadata <SecurityDefineAttribute>();

            if (securityDefineAttribute == null)
            {
                return(true);
            }

            // 解析服务
            var userManager = httpContext.RequestServices.GetService <IUserManager>();
            var securities  = await userManager.GetSecuritiesAsync(userManager.UserId);

            // 检查授权
            return(securities.Select(u => u.UniqueName).Contains(securityDefineAttribute.ResourceId));
        }