diff --git a/aspnet-core/CompanyName.ProjectName.sln b/aspnet-core/CompanyName.ProjectName.sln index ea320edb..306ada21 100644 --- a/aspnet-core/CompanyName.ProjectName.sln +++ b/aspnet-core/CompanyName.ProjectName.sln @@ -35,7 +35,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.DbM EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{2C861ADD-76E9-4B3B-8A3C-638EBB67D683}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2C4A6DB8-8D9E-42E6-B7C3-1EDB7B3DE22E}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0.Solution Items", "0.Solution Items", "{2C4A6DB8-8D9E-42E6-B7C3-1EDB7B3DE22E}" ProjectSection(SolutionItems) = preProject common.props = common.props Directory.Build.props = Directory.Build.props diff --git a/aspnet-core/Directory.Build.props b/aspnet-core/Directory.Build.props index 5ae284c3..391d0a7a 100644 --- a/aspnet-core/Directory.Build.props +++ b/aspnet-core/Directory.Build.props @@ -2,9 +2,13 @@ 4.4.0 - 5.1.4 + 5.1.4 5.0.12 + 13.0.1 + 5.0.0 + 5.0.0 + 5.0.0 1.5.0 2.10.0 3.0.1 @@ -15,7 +19,7 @@ 7.0.0 3.1.0 8.4.1 - 7.14.1 + 7.15.1 2.0.3 6.1.4 16.9.1 @@ -25,6 +29,8 @@ 2.4.3 17.0.0 6.2.3 + 2.5.200 + \ No newline at end of file diff --git a/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/Lion.Abp.Cap.csproj b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/Lion.Abp.Cap.csproj index 4abac2ea..9069fa66 100644 --- a/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/Lion.Abp.Cap.csproj +++ b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/Lion.Abp.Cap.csproj @@ -1,17 +1,16 @@ - + net5.0 - - - - - - - - + + + + + + + diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Guard.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Guard.cs index bab1227d..4f66c17a 100644 --- a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Guard.cs +++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Guard.cs @@ -14,11 +14,9 @@ namespace Lion.Abp.Extension { /// /// 检查参数不能为空引用, - /// 否则抛出异常。 /// /// /// 参数名称 - /// public static T NotNull(T value, string valueName) { if (null == value) @@ -31,17 +29,11 @@ namespace Lion.Abp.Extension /// /// 检查字符串不能为空引用或空字符串, - /// 否则抛出异常 - /// 或异常 - /// 或异常。 /// /// /// 参数名称。 /// 字符串允许的最大长度。 /// 字符串允许的最小长度。0表示不限制最小长度 - /// - /// - /// public static string NotNullOrEmpty(string value, string valueName, int maxLength = int.MaxValue, int minLength = 0) { @@ -65,17 +57,11 @@ namespace Lion.Abp.Extension /// /// 检查字符串不能为空引用或全部为空白, - /// 否则抛出异常 - /// 或异常 - /// 或异常。 /// /// 需检查的字符串 /// 参数名称。 /// 字符串允许的最大长度。 /// 字符串允许的最小长度。0表示不限制最小长度 - /// - /// - /// public static string NotNullOrWhiteSpace( string value, string valueName, @@ -102,15 +88,11 @@ namespace Lion.Abp.Extension /// /// 检查字符串长度是否超过最大长度,或低于最小长度, - /// 否则抛出异常 - /// 或异常。 /// /// 需检查的字符串。 /// 参数名称。 /// 字符串允许的最大长度。 /// 字符串要求的最小长度。0表示不限制最小长度 - /// - /// public static string Length(string value, string valueName, int maxLength = int.MaxValue, int minLength = 0) { @@ -133,11 +115,10 @@ namespace Lion.Abp.Extension } /// - /// 检查Guid值不能为Guid.Empty,否则抛出异常。 + /// 检查Guid值不能为Guid.Empty /// /// /// 参数名称。 - /// public static Guid NotEmpty( Guid value, string valueName) @@ -152,12 +133,10 @@ namespace Lion.Abp.Extension /// /// 检查集合不能为空引用或空集合, - /// 否则抛出异常。 /// /// 集合项的类型。 /// /// 参数名称。 - /// public static void NotNullOrEmpty( IReadOnlyList list, string valueName) @@ -170,14 +149,12 @@ namespace Lion.Abp.Extension /// /// 检查参数必须小于[或可等于,参数]指定值, - /// 否则抛出异常。 /// /// 参数类型。 /// /// 参数名称。 /// 要比较的值。 /// 是否可等于。 - /// public static void LessThan( T value, string valueName, @@ -194,14 +171,12 @@ namespace Lion.Abp.Extension /// /// 检查参数必须大于[或可等于,参数]指定值, - /// 否则抛出异常。 /// /// 参数类型。 /// 需检查的参数。 /// 参数名称。 /// 要比较的值。 /// 是否可等于。 - /// public static void GreaterThan( T value, string valueName, @@ -217,7 +192,7 @@ namespace Lion.Abp.Extension } /// - /// 检查参数必须在指定范围之间,否则抛出异常。 + /// 检查参数必须在指定范围之间 /// /// 参数类型。 /// 需检查的参数。 @@ -226,7 +201,6 @@ namespace Lion.Abp.Extension /// 比较范围的结束值。 /// 是否可等于起始值 /// 是否可等于结束值 - /// 不在指定范围内时 public static void Between( T value, string valueName, @@ -251,13 +225,9 @@ namespace Lion.Abp.Extension /// /// 检查指定路径的文件夹必须存在, - /// 否则抛出异常 - /// 或 异常。 /// /// 需检查的路径。 /// 参数名称。 - /// 当文件夹路径为null或空时 - /// 当文件夹路径不存在时 public static string DirectoryExists( string directory, string parameterName) @@ -276,12 +246,11 @@ namespace Lion.Abp.Extension } /// - /// 检查指定路径的文件必须存在,否则抛出异常。 + /// 检查指定路径的文件必须存在,否则抛出 /// /// /// 参数名称。 - /// 当文件路径为null或空时 - /// 当文件路径不存在时 + public static string FileExists( string filename, string valueName) diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Lion.Abp.Extension.csproj b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Lion.Abp.Extension.csproj index 3ac701d6..8b864a73 100644 --- a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Lion.Abp.Extension.csproj +++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Lion.Abp.Extension.csproj @@ -1,13 +1,13 @@ - + net5.0 - - - - + + + + diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/WebGatewayModule.cs b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/WebGatewayModule.cs index 77623827..eb60a536 100644 --- a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/WebGatewayModule.cs +++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/WebGatewayModule.cs @@ -22,25 +22,16 @@ namespace CompanyName.ProjectName.WebGateway public override void ConfigureServices(ServiceConfigurationContext context) { ConfigureCors(context); - ConfigureSwaggerServices(context); + } public override void OnApplicationInitialization(ApplicationInitializationContext context) { var app = context.GetApplicationBuilder(); - var env = context.GetEnvironment(); app.UseCorrelationId(); app.UseCors(DefaultCorsPolicyName); app.UseRouting(); - app.UseSwagger(); - app.UseSwaggerUI(options => - { - options.SwaggerEndpoint("/ProjectName/swagger.json", "ProjectNameAPI"); - options.DefaultModelsExpandDepth(-1); - options.DocExpansion(DocExpansion.None); - }); - - app.UseConfiguredEndpoints(); + app.UseConfiguredEndpoints(endpoints => { endpoints.MapHealthChecks("/health"); }); app.UseWebSockets(); app.UseOcelot().Wait(); } @@ -48,7 +39,6 @@ namespace CompanyName.ProjectName.WebGateway /// /// 配置跨域 /// - /// private void ConfigureCors(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); @@ -71,29 +61,6 @@ namespace CompanyName.ProjectName.WebGateway }); }); } - - private static void ConfigureSwaggerServices(ServiceConfigurationContext context) - { - context.Services.AddSwaggerGen( - options => - { - options.SwaggerDoc("v1", new OpenApiInfo {Title = "WebGateway API", Version = "v1"}); - options.DocInclusionPredicate((docName, description) => true); - options.AddSecurityRequirement(new OpenApiSecurityRequirement - { - { - new OpenApiSecurityScheme - { - Reference = new OpenApiReference - { - Type = ReferenceType.SecurityScheme, Id = "Bearer" - } - }, - new List() - } - }); - - }); - } + } } \ No newline at end of file diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Consul.json b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Consul.json index 4776e807..b73f7007 100644 --- a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Consul.json +++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Consul.json @@ -15,13 +15,13 @@ }, "Routes": [ { - "DownstreamPathTemplate": "/swagger/ProjectName/swagger.json", + "DownstreamPathTemplate": "/{url}", "DownstreamScheme": "http", "ServiceName": "Project-Service", "LoadBalancerOptions": { "Type": "LeastConnection" }, - "UpstreamPathTemplate": "/ProjectName/swagger.json", + "UpstreamPathTemplate": "/gateway/{url}", "UpstreamHttpMethod": [ "Get", "Post", @@ -31,12 +31,12 @@ }, { "DownstreamPathTemplate": "/{url}", - "DownstreamScheme": "http", + "DownstreamScheme": "ws", "ServiceName": "Project-Service", "LoadBalancerOptions": { "Type": "LeastConnection" }, - "UpstreamPathTemplate": "/gateway/{url}", + "UpstreamPathTemplate": "/ws/{url}", "UpstreamHttpMethod": [ "Get", "Post", diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Development.json b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Development.json index f92fb6ab..11ae9e2d 100644 --- a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Development.json +++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Development.json @@ -14,23 +14,6 @@ "GlobalConfiguration": { }, "Routes": [ - { - "DownstreamPathTemplate": "/swagger/ProjectName/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "localhost", - "Port": 44315 - } - ], - "UpstreamPathTemplate": "/ProjectName/swagger.json", - "UpstreamHttpMethod": [ - "Get", - "Post", - "Put", - "Delete" - ] - }, { "DownstreamPathTemplate": "/{url}", "DownstreamScheme": "http", diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/CompanyName.ProjectName.HttpApi.Host.csproj b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/CompanyName.ProjectName.HttpApi.Host.csproj index a854124b..b551db93 100644 --- a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/CompanyName.ProjectName.HttpApi.Host.csproj +++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/CompanyName.ProjectName.HttpApi.Host.csproj @@ -9,9 +9,9 @@ - - - + + + @@ -20,20 +20,18 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + @@ -51,28 +49,4 @@ - - <_ContentIncludedByDefault Remove="publish\publish\publish\web.config" /> - <_ContentIncludedByDefault Remove="publish\publish\web.config" /> - <_ContentIncludedByDefault Remove="publish\web.config" /> - <_ContentIncludedByDefault Remove="publish\appsettings.Development.json" /> - <_ContentIncludedByDefault Remove="publish\appsettings.json" /> - <_ContentIncludedByDefault Remove="publish\appsettings.Production.json" /> - <_ContentIncludedByDefault Remove="publish\appsettings.secrets.json" /> - <_ContentIncludedByDefault Remove="publish\CompanyName.ProjectName.HttpApi.Host.deps.json" /> - <_ContentIncludedByDefault Remove="publish\CompanyName.ProjectName.HttpApi.Host.runtimeconfig.json" /> - <_ContentIncludedByDefault Remove="publish\publish\appsettings.Development.json" /> - <_ContentIncludedByDefault Remove="publish\publish\appsettings.json" /> - <_ContentIncludedByDefault Remove="publish\publish\appsettings.Production.json" /> - <_ContentIncludedByDefault Remove="publish\publish\appsettings.secrets.json" /> - <_ContentIncludedByDefault Remove="publish\publish\CompanyName.ProjectName.HttpApi.Host.deps.json" /> - <_ContentIncludedByDefault Remove="publish\publish\CompanyName.ProjectName.HttpApi.Host.runtimeconfig.json" /> - <_ContentIncludedByDefault Remove="publish\publish\publish\appsettings.Development.json" /> - <_ContentIncludedByDefault Remove="publish\publish\publish\appsettings.json" /> - <_ContentIncludedByDefault Remove="publish\publish\publish\appsettings.secrets.json" /> - <_ContentIncludedByDefault Remove="publish\publish\publish\CompanyName.ProjectName.HttpApi.Host.deps.json" /> - <_ContentIncludedByDefault Remove="publish\publish\publish\CompanyName.ProjectName.HttpApi.Host.runtimeconfig.json" /> - <_ContentIncludedByDefault Remove="publish\publish\publish\appsettings.Production.json" /> - - diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Controllers/HomeController.cs b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Controllers/HomeController.cs index 2ec7c73b..1c3905f3 100644 --- a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Controllers/HomeController.cs +++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Controllers/HomeController.cs @@ -7,7 +7,7 @@ namespace CompanyName.ProjectName.Controllers { public ActionResult Index() { - return Redirect("~/swagger"); + return Redirect("/Login"); } } } diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Login.cshtml b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Login.cshtml new file mode 100644 index 00000000..080a6abf --- /dev/null +++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Login.cshtml @@ -0,0 +1,161 @@ +@page +@model CompanyName.ProjectName.Pages.Login + +@{ + Layout = null; +} + + + + + + 后台服务登录 + + + + +
+
+
+
+ @Html.AntiForgeryToken() + 后台服务登录 +
+ + +
+
+ + +
+
+ +
+
+
+
+
+ + + \ No newline at end of file diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Login.cshtml.cs b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Login.cshtml.cs new file mode 100644 index 00000000..3c0e9a1d --- /dev/null +++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Login.cshtml.cs @@ -0,0 +1,67 @@ +using System; +using System.Threading.Tasks; +using CompanyName.ProjectName.Users; +using CompanyName.ProjectName.Users.Dtos; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; + + +namespace CompanyName.ProjectName.Pages +{ + public class Login : PageModel + { + private readonly IAccountAppService _accountAppService; + private readonly ILogger _logger; + private readonly IHostEnvironment _hostEnvironment; + + public Login(IAccountAppService accountAppService, ILogger logger, IHostEnvironment hostEnvironment) + { + _accountAppService = accountAppService; + _logger = logger; + _hostEnvironment = hostEnvironment; + } + + public void OnGet() + { + } + + public async Task OnPost() + { + string userName = Request.Form["userName"]; + string password = Request.Form["password"]; + if (userName.IsNullOrWhiteSpace() || password.IsNullOrWhiteSpace()) + { + Response.Redirect("/Login"); + } + + try + { + var options = new CookieOptions + { + Expires = DateTime.Now.AddHours(2), + SameSite = SameSiteMode.Unspecified, + }; + + if (!_hostEnvironment.IsDevelopment()) + { + // 设置cookies domain + options.Domain = "ProjectName.cn"; + } + + + var result = await _accountAppService.LoginAsync(new LoginInput() + { Name = userName, Password = password }); + Response.Cookies.Append(ProjectNameHttpApiHostConsts.DefaultCookieName, result.Token,options); + } + catch (Exception e) + { + _logger.LogError($"登录失败:{e.Message}"); + Response.Redirect("/Login"); + } + + Response.Redirect("/monitor"); + } + } +} \ No newline at end of file diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Monitor.cshtml b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Monitor.cshtml new file mode 100644 index 00000000..105b7329 --- /dev/null +++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Monitor.cshtml @@ -0,0 +1,173 @@ +@page +@using CompanyName.ProjectName +@model CompanyName.ProjectName.Pages.Monitor + + +@{ + Layout = null; +} + + + + + + + + + + 后端服务 + + + +
+ +
+
+
+ + + +
+

+ SwaggerUI +

+
+
+
+ +
+
+ + + +
+

+ CAP面板 +

+
+
+
+ +
+
+ + + +
+

+ Hangfire面板 +

+
+
+
+ +
+
+ + + +
+

+ 了解更多... +

+
+
+
+
+
+ + + \ No newline at end of file diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Monitor.cshtml.cs b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Monitor.cshtml.cs new file mode 100644 index 00000000..2c405c77 --- /dev/null +++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Pages/Monitor.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace CompanyName.ProjectName.Pages +{ + public class Monitor : PageModel + { + public void OnGet() + { + + } + } +} \ No newline at end of file diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostConsts.cs b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostConsts.cs new file mode 100644 index 00000000..afee81fd --- /dev/null +++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostConsts.cs @@ -0,0 +1,34 @@ +namespace CompanyName.ProjectName +{ + public class ProjectNameHttpApiHostConsts + { + /// + /// 跨域策略名 + /// + public const string DefaultCorsPolicyName = "Default"; + + /// + /// Cookies名称 + /// + public const string DefaultCookieName = "CompanyName.ProjectName.Http.Api"; + + /// + /// SwaggerUi 端点 + /// + public const string SwaggerUiEndPoint = "/swagger"; + + /// + /// Hangfire 端点 + /// + public const string HangfireDashboardEndPoint = "/hangfire"; + + /// + /// CAP 端点 + /// + public const string CapDashboardEndPoint = "/cap"; + + + public const string MoreEndPoint = "https://doc.cncore.club/"; + + } +} \ No newline at end of file diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs index f5734fed..9754e084 100644 --- a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs +++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs @@ -37,6 +37,7 @@ using Savorboard.CAP.InMemoryMessageQueue; using Serilog; using Swashbuckle.AspNetCore.SwaggerUI; using Volo.Abp.AspNetCore.MultiTenancy; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; using Volo.Abp.Caching; namespace CompanyName.ProjectName @@ -55,11 +56,11 @@ namespace CompanyName.ProjectName typeof(AbpBackgroundJobsHangfireModule), typeof(LionAbpCapModule), typeof(AbpAspNetCoreMultiTenancyModule), - typeof(SharedHostingMicroserviceModule) + typeof(SharedHostingMicroserviceModule), + typeof(AbpAspNetCoreMvcUiBasicThemeModule) )] public class ProjectNameHttpApiHostModule : AbpModule { - private const string DefaultCorsPolicyName = "Default"; public override void OnPostApplicationInitialization( ApplicationInitializationContext context) @@ -88,7 +89,7 @@ namespace CompanyName.ProjectName app.UseCorrelationId(); app.UseStaticFiles(); app.UseRouting(); - app.UseCors(DefaultCorsPolicyName); + app.UseCors(ProjectNameHttpApiHostConsts.DefaultCookieName); app.UseAuthentication(); if (MultiTenancyConsts.IsEnabled) @@ -113,8 +114,8 @@ namespace CompanyName.ProjectName opts.EnrichDiagnosticContext = SerilogToEsExtensions.EnrichFromRequest; }); app.UseUnitOfWork(); - app.UseConfiguredEndpoints(); - app.UseEndpoints(endpoints => { endpoints.MapHealthChecks("/health"); }); + + app.UseConfiguredEndpoints(endpoints => { endpoints.MapHealthChecks("/health"); }); app.UseHangfireDashboard("/hangfire", new DashboardOptions() { Authorization = new[] { new CustomHangfireAuthorizeFilter() }, @@ -185,36 +186,35 @@ namespace CompanyName.ProjectName { OnMessageReceived = currentContext => { - var accessToken = currentContext.Request.Query["access_token"]; - // 如果请求来自signalr var path = currentContext.HttpContext.Request.Path; - if (path.StartsWithSegments("/signalr")) + if (!path.StartsWithSegments("/login")) { - currentContext.Token = accessToken; - } - - // 如果请求来自hangfire 或者cap - if (path.ToString().StartsWith("/hangfire") || - path.ToString().StartsWith("/cap")) - { - currentContext.HttpContext.Response.Headers.Remove( - "X-Frame-Options"); - if (!string.IsNullOrEmpty(accessToken)) - { - currentContext.Token = accessToken; - currentContext.HttpContext.Response.Cookies - .Append("ProjectNameCookie", accessToken); - } - else + var accessToken = + currentContext.Request.Cookies[ + ProjectNameHttpApiHostConsts.DefaultCookieName] ; + + if (!accessToken.IsNullOrWhiteSpace()) { - var cookies = currentContext.Request.Cookies; - if (cookies.ContainsKey("ProjectNameCookie")) + if (path.StartsWithSegments("/signalr")) { - currentContext.Token = cookies["ProjectNameCookie"]; + currentContext.Token = accessToken; + } + + currentContext.Request.Headers.Add("Authorization", + $"Bearer {accessToken}"); + + // 如果请求来自hangfire 或者cap + if (path.ToString().StartsWith("/hangfire") || + path.ToString().StartsWith("/cap")) + { + currentContext.HttpContext.Response.Headers.Remove( + "X-Frame-Options"); + currentContext.Token = !string.IsNullOrEmpty(accessToken) ? accessToken : accessToken; } } } + return Task.CompletedTask; } }; diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Properties/launchSettings.json b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Properties/launchSettings.json index f6d4def0..d1785b53 100644 --- a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Properties/launchSettings.json +++ b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "CompanyName.ProjectName.HttpApi.Host": { "commandName": "Project", - "launchBrowser": false, + "launchBrowser": true, "applicationUrl": "http://localhost:44315", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/cap.png b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/cap.png new file mode 100644 index 00000000..76c667e0 Binary files /dev/null and b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/cap.png differ diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/hangfire.png b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/hangfire.png new file mode 100644 index 00000000..5cdeb40f Binary files /dev/null and b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/hangfire.png differ diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/more.png b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/more.png new file mode 100644 index 00000000..55c056f0 Binary files /dev/null and b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/more.png differ diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/swagger.png b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/swagger.png new file mode 100644 index 00000000..7bcbd432 Binary files /dev/null and b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/swagger.png differ diff --git a/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/xxx-job.png b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/xxx-job.png new file mode 100644 index 00000000..6658b8e8 Binary files /dev/null and b/aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/wwwroot/images/xxx-job.png differ diff --git a/aspnet-core/services/host/CompanyName.ProjectName.IdentityServer/CompanyName.ProjectName.IdentityServer.csproj b/aspnet-core/services/host/CompanyName.ProjectName.IdentityServer/CompanyName.ProjectName.IdentityServer.csproj index 41e5f41f..66928f32 100644 --- a/aspnet-core/services/host/CompanyName.ProjectName.IdentityServer/CompanyName.ProjectName.IdentityServer.csproj +++ b/aspnet-core/services/host/CompanyName.ProjectName.IdentityServer/CompanyName.ProjectName.IdentityServer.csproj @@ -32,9 +32,9 @@ - - - + + + diff --git a/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/CompanyName.ProjectName.Application.Contracts.csproj b/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/CompanyName.ProjectName.Application.Contracts.csproj index c2504c20..eac55cb5 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/CompanyName.ProjectName.Application.Contracts.csproj +++ b/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/CompanyName.ProjectName.Application.Contracts.csproj @@ -14,7 +14,7 @@ - + diff --git a/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissionDefinitionProvider.cs b/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissionDefinitionProvider.cs index e81f69fe..7073e545 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissionDefinitionProvider.cs +++ b/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissionDefinitionProvider.cs @@ -17,11 +17,7 @@ namespace CompanyName.ProjectName.Permissions var auditManagement = abpIdentityGroup.AddPermission(ProjectNamePermissions.SystemManagement.AuditLog, L("Permission:AuditLogManagement")); - var hangfireManagement = - abpIdentityGroup.AddPermission(ProjectNamePermissions.SystemManagement.Hangfire, L("Permission:HangfireManagement")); - - var capManagement = abpIdentityGroup.AddPermission(ProjectNamePermissions.SystemManagement.Cap, L("Permission:CapManagement")); - + var esManagement = abpIdentityGroup.AddPermission(ProjectNamePermissions.SystemManagement.ES, L("Permission:ESManagement")); #region IdentityServer diff --git a/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissions.cs b/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissions.cs index 3a7a5336..94742ce0 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissions.cs +++ b/aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissions.cs @@ -19,8 +19,6 @@ namespace CompanyName.ProjectName.Permissions public const string Default = "System"; public const string UserEnable = Default + ".Users.Enable"; public const string AuditLog = Default + ".AuditLog"; - public const string Hangfire = Default + ".Hangfire"; - public const string Cap = Default + ".Cap"; public const string ES = Default + ".ES"; } diff --git a/aspnet-core/services/src/CompanyName.ProjectName.Application/CompanyName.ProjectName.Application.csproj b/aspnet-core/services/src/CompanyName.ProjectName.Application/CompanyName.ProjectName.Application.csproj index 0ec17a1b..a1ccb2c5 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.Application/CompanyName.ProjectName.Application.csproj +++ b/aspnet-core/services/src/CompanyName.ProjectName.Application/CompanyName.ProjectName.Application.csproj @@ -15,7 +15,7 @@ - + diff --git a/aspnet-core/services/src/CompanyName.ProjectName.DbMigrator/CompanyName.ProjectName.DbMigrator.csproj b/aspnet-core/services/src/CompanyName.ProjectName.DbMigrator/CompanyName.ProjectName.DbMigrator.csproj index 8f036463..d1847d63 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.DbMigrator/CompanyName.ProjectName.DbMigrator.csproj +++ b/aspnet-core/services/src/CompanyName.ProjectName.DbMigrator/CompanyName.ProjectName.DbMigrator.csproj @@ -19,14 +19,15 @@ - - - - + + + + + - + diff --git a/aspnet-core/services/src/CompanyName.ProjectName.Domain.Shared/CompanyName.ProjectName.Domain.Shared.csproj b/aspnet-core/services/src/CompanyName.ProjectName.Domain.Shared/CompanyName.ProjectName.Domain.Shared.csproj index b4043c2d..8301468a 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.Domain.Shared/CompanyName.ProjectName.Domain.Shared.csproj +++ b/aspnet-core/services/src/CompanyName.ProjectName.Domain.Shared/CompanyName.ProjectName.Domain.Shared.csproj @@ -9,7 +9,7 @@ - + @@ -18,15 +18,14 @@ + - - - - + + diff --git a/aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/CompanyName.ProjectName.ElasticsearchRepository.csproj b/aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/CompanyName.ProjectName.ElasticsearchRepository.csproj index a9ed148d..2c77a716 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/CompanyName.ProjectName.ElasticsearchRepository.csproj +++ b/aspnet-core/services/src/CompanyName.ProjectName.ElasticsearchRepository/CompanyName.ProjectName.ElasticsearchRepository.csproj @@ -5,12 +5,13 @@ - + + - - + + diff --git a/aspnet-core/services/src/CompanyName.ProjectName.EntityFrameworkCore/CompanyName.ProjectName.EntityFrameworkCore.csproj b/aspnet-core/services/src/CompanyName.ProjectName.EntityFrameworkCore/CompanyName.ProjectName.EntityFrameworkCore.csproj index 92e50f01..25b8f029 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.EntityFrameworkCore/CompanyName.ProjectName.EntityFrameworkCore.csproj +++ b/aspnet-core/services/src/CompanyName.ProjectName.EntityFrameworkCore/CompanyName.ProjectName.EntityFrameworkCore.csproj @@ -21,7 +21,7 @@ - + runtime; build; native; contentfiles; analyzers compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native diff --git a/aspnet-core/services/src/CompanyName.ProjectName.FreeSqlRepository/CompanyName.ProjectName.FreeSqlRepository.csproj b/aspnet-core/services/src/CompanyName.ProjectName.FreeSqlRepository/CompanyName.ProjectName.FreeSqlRepository.csproj index e0208c3b..329d62b5 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.FreeSqlRepository/CompanyName.ProjectName.FreeSqlRepository.csproj +++ b/aspnet-core/services/src/CompanyName.ProjectName.FreeSqlRepository/CompanyName.ProjectName.FreeSqlRepository.csproj @@ -4,8 +4,8 @@ net5.0 - - + + diff --git a/aspnet-core/services/src/CompanyName.ProjectName.HttpApi/CompanyName.ProjectName.HttpApi.csproj b/aspnet-core/services/src/CompanyName.ProjectName.HttpApi/CompanyName.ProjectName.HttpApi.csproj index 70ebf8cd..0f19a8a7 100644 --- a/aspnet-core/services/src/CompanyName.ProjectName.HttpApi/CompanyName.ProjectName.HttpApi.csproj +++ b/aspnet-core/services/src/CompanyName.ProjectName.HttpApi/CompanyName.ProjectName.HttpApi.csproj @@ -14,7 +14,7 @@ - + diff --git a/aspnet-core/services/test/CompanyName.ProjectName.Application.Tests/CompanyName.ProjectName.Application.Tests.csproj b/aspnet-core/services/test/CompanyName.ProjectName.Application.Tests/CompanyName.ProjectName.Application.Tests.csproj index 7816995f..14640de1 100644 --- a/aspnet-core/services/test/CompanyName.ProjectName.Application.Tests/CompanyName.ProjectName.Application.Tests.csproj +++ b/aspnet-core/services/test/CompanyName.ProjectName.Application.Tests/CompanyName.ProjectName.Application.Tests.csproj @@ -12,7 +12,7 @@ - + diff --git a/aspnet-core/services/test/CompanyName.ProjectName.Domain.Tests/CompanyName.ProjectName.Domain.Tests.csproj b/aspnet-core/services/test/CompanyName.ProjectName.Domain.Tests/CompanyName.ProjectName.Domain.Tests.csproj index 89ab0c4c..199e1c4d 100644 --- a/aspnet-core/services/test/CompanyName.ProjectName.Domain.Tests/CompanyName.ProjectName.Domain.Tests.csproj +++ b/aspnet-core/services/test/CompanyName.ProjectName.Domain.Tests/CompanyName.ProjectName.Domain.Tests.csproj @@ -12,7 +12,7 @@ - + diff --git a/aspnet-core/services/test/CompanyName.ProjectName.EntityFrameworkCore.Tests/CompanyName.ProjectName.EntityFrameworkCore.Tests.csproj b/aspnet-core/services/test/CompanyName.ProjectName.EntityFrameworkCore.Tests/CompanyName.ProjectName.EntityFrameworkCore.Tests.csproj index 0641af02..d190078f 100644 --- a/aspnet-core/services/test/CompanyName.ProjectName.EntityFrameworkCore.Tests/CompanyName.ProjectName.EntityFrameworkCore.Tests.csproj +++ b/aspnet-core/services/test/CompanyName.ProjectName.EntityFrameworkCore.Tests/CompanyName.ProjectName.EntityFrameworkCore.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/aspnet-core/services/test/CompanyName.ProjectName.HttpApi.Client.ConsoleTestApp/CompanyName.ProjectName.HttpApi.Client.ConsoleTestApp.csproj b/aspnet-core/services/test/CompanyName.ProjectName.HttpApi.Client.ConsoleTestApp/CompanyName.ProjectName.HttpApi.Client.ConsoleTestApp.csproj index 5376f978..f6f39de6 100644 --- a/aspnet-core/services/test/CompanyName.ProjectName.HttpApi.Client.ConsoleTestApp/CompanyName.ProjectName.HttpApi.Client.ConsoleTestApp.csproj +++ b/aspnet-core/services/test/CompanyName.ProjectName.HttpApi.Client.ConsoleTestApp/CompanyName.ProjectName.HttpApi.Client.ConsoleTestApp.csproj @@ -22,8 +22,8 @@ - - + + diff --git a/aspnet-core/services/test/CompanyName.ProjectName.TestBase/CompanyName.ProjectName.TestBase.csproj b/aspnet-core/services/test/CompanyName.ProjectName.TestBase/CompanyName.ProjectName.TestBase.csproj index aa141984..b9f1169d 100644 --- a/aspnet-core/services/test/CompanyName.ProjectName.TestBase/CompanyName.ProjectName.TestBase.csproj +++ b/aspnet-core/services/test/CompanyName.ProjectName.TestBase/CompanyName.ProjectName.TestBase.csproj @@ -15,12 +15,12 @@ - - - - - - + + + + + + diff --git a/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/CompanyName.ProjectName.Shared.Hosting.Gateways.csproj b/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/CompanyName.ProjectName.Shared.Hosting.Gateways.csproj index d24e8bae..571013a0 100644 --- a/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/CompanyName.ProjectName.Shared.Hosting.Gateways.csproj +++ b/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/CompanyName.ProjectName.Shared.Hosting.Gateways.csproj @@ -4,14 +4,14 @@ net5.0 - - - + + + - + diff --git a/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/SharedHostingGatewayModule.cs b/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/SharedHostingGatewayModule.cs index f5585b39..c379cb2a 100644 --- a/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/SharedHostingGatewayModule.cs +++ b/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/SharedHostingGatewayModule.cs @@ -17,6 +17,7 @@ namespace CompanyName.ProjectName.Shared.Hosting.Gateways public override void ConfigureServices(ServiceConfigurationContext context) { ConfigureOcelot(context); + ConfigureHealthChecks(context); } /// @@ -27,6 +28,13 @@ namespace CompanyName.ProjectName.Shared.Hosting.Gateways var configuration = context.Services.GetConfiguration(); context.Services.AddOcelot(configuration).AddConsul().AddPolly(); } - + /// + /// 健康检查 + /// + /// + private void ConfigureHealthChecks(ServiceConfigurationContext context) + { + context.Services.AddHealthChecks(); + } } } \ No newline at end of file diff --git a/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/CompanyName.ProjectName.Shared.Hosting.Microservices.csproj b/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/CompanyName.ProjectName.Shared.Hosting.Microservices.csproj index 7b36972d..d21ffa2c 100644 --- a/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/CompanyName.ProjectName.Shared.Hosting.Microservices.csproj +++ b/aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/CompanyName.ProjectName.Shared.Hosting.Microservices.csproj @@ -5,17 +5,15 @@ - - - + + + - - - - + +