框架重构

清除多余的业务
This commit is contained in:
橙子
2022-04-03 23:21:53 +08:00
parent f5fb2ea17b
commit f0d32af3c3
936 changed files with 213647 additions and 86 deletions

View File

@@ -30,32 +30,20 @@ namespace Yi.Framework.WebCore
/// </summary>
/// <param name="httpContext"></param>
/// <returns></returns>
public static User GetCurrentUserInfo(this HttpContext httpContext, out List<int> menuIds)
public static UserEntity GetCurrentUserEntityInfo(this HttpContext httpContext, out List<Guid> menuIds)
{
IEnumerable<Claim> claimlist = httpContext.AuthenticateAsync().Result.Principal.Claims;
Int32.TryParse(claimlist.FirstOrDefault(u => u.Type == ClaimTypes.Sid).Value, out int resId);
var resId= new Guid (claimlist.FirstOrDefault(u => u.Type == ClaimTypes.Sid).Value);
menuIds = claimlist.Where(u => u.Type == "menuIds").ToList().Select(u => Convert.ToInt32(u.Value)).ToList();
menuIds = claimlist.Where(u => u.Type == "menuIds").ToList().Select(u => new Guid(u.Value)).ToList();
return new User()
return new UserEntity()
{
Id = resId,
Username = claimlist.FirstOrDefault(u => u.Type == ClaimTypes.Name).Value ?? "匿名"
};
}
public static User GetCurrentUserInfo(this HttpContext httpContext)
{
IEnumerable<Claim> claimlist = httpContext.AuthenticateAsync().Result.Principal.Claims;
Int32.TryParse(claimlist.FirstOrDefault(u => u.Type == ClaimTypes.Sid).Value, out int resId);
return new User()
{
Id = resId,
Username = claimlist.FirstOrDefault(u => u.Type == ClaimTypes.Name).Value ?? "匿名"
Name = claimlist.FirstOrDefault(u => u.Type == ClaimTypes.Name).Value
};
}
}

View File

@@ -13,15 +13,15 @@ namespace Yi.Framework.WebCore.MiddlewareExtend
{
public static IServiceCollection AddAuthorizationService(this IServiceCollection services)
{
services.AddAuthorization(options =>
{
options.AddPolicy(PolicyName.Menu, polic =>
{
polic.AddRequirements(new CustomAuthorizationRequirement(PolicyEnum.MenuPermissions));
});
});
//services.AddAuthorization(options =>
//{
// options.AddPolicy(PolicyName.Menu, polic =>
// {
// polic.AddRequirements(new CustomAuthorizationRequirement(PolicyEnum.MenuPermissions));
// });
//});
services.AddSingleton<IAuthorizationHandler, CustomAuthorizationHandler>();
//services.AddSingleton<IAuthorizationHandler, CustomAuthorizationHandler>();
return services;
}
}

View File

@@ -0,0 +1,35 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Common.Models;
using Yi.Framework.Language;
namespace Yi.Framework.WebCore.MiddlewareExtend
{
public static class LocalizerExtend
{
public static IServiceCollection AddLocalizerService(this IServiceCollection services)
{
services.AddLocalization();
return services;
}
public static void UseLocalizerService(this IApplicationBuilder app)
{
Result._local = app.ApplicationServices.GetService<IStringLocalizer<LocalLanguage>>();
var support = new[] { "zh", "en" };
var local = new RequestLocalizationOptions().SetDefaultCulture(support[0])
.AddSupportedCultures(support)
.AddSupportedUICultures(support);
app.UseRequestLocalization(local);
}
}
}