From b02205c054c5c24f382d9d01a2f843b2f72d8be1 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Sat, 28 Sep 2019 21:30:40 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20ApiVersion=20=E6=94=AF=E6=8C=81=20N?= =?UTF-8?q?ETCore=203.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj | 1 + src/admin/Bootstrap.Admin/Program.cs | 4 +--- src/admin/Bootstrap.Admin/Startup.cs | 16 +++++++++------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj b/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj index dc904a17..b37e3cb9 100644 --- a/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj +++ b/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj @@ -17,6 +17,7 @@ + diff --git a/src/admin/Bootstrap.Admin/Program.cs b/src/admin/Bootstrap.Admin/Program.cs index ecf28057..24283f9c 100644 --- a/src/admin/Bootstrap.Admin/Program.cs +++ b/src/admin/Bootstrap.Admin/Program.cs @@ -1,7 +1,5 @@ -using Bootstrap.DataAccess; -using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.DependencyInjection; namespace Bootstrap.Admin { diff --git a/src/admin/Bootstrap.Admin/Startup.cs b/src/admin/Bootstrap.Admin/Startup.cs index a6c956c6..ae3f6aa5 100644 --- a/src/admin/Bootstrap.Admin/Startup.cs +++ b/src/admin/Bootstrap.Admin/Startup.cs @@ -6,6 +6,8 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.HttpOverrides; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Versioning; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -79,13 +81,13 @@ namespace Bootstrap.Admin op.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; JsonConvert.DefaultSettings = () => op.SerializerSettings; }); - //services.AddApiVersioning(option => - //{ - // option.DefaultApiVersion = new ApiVersion(1, 0); - // option.ReportApiVersions = true; - // option.AssumeDefaultVersionWhenUnspecified = true; - // option.ApiVersionReader = ApiVersionReader.Combine(new HeaderApiVersionReader("api-version"), new QueryStringApiVersionReader("api-version")); - //}); + services.AddApiVersioning(option => + { + option.DefaultApiVersion = new ApiVersion(1, 0); + option.ReportApiVersions = true; + option.AssumeDefaultVersionWhenUnspecified = true; + option.ApiVersionReader = ApiVersionReader.Combine(new HeaderApiVersionReader("api-version"), new QueryStringApiVersionReader("api-version")); + }); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. From 42a1c16bbba2b8e032d515b2c822bc2afc50301c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Sun, 29 Sep 2019 11:17:00 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20Sentry=20=E6=94=AF=E6=8C=81=20NETCo?= =?UTF-8?q?re=203.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj | 1 + src/admin/Bootstrap.Admin/Program.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj b/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj index b37e3cb9..b7fd7374 100644 --- a/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj +++ b/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj @@ -21,6 +21,7 @@ + diff --git a/src/admin/Bootstrap.Admin/Program.cs b/src/admin/Bootstrap.Admin/Program.cs index 24283f9c..131fb93a 100644 --- a/src/admin/Bootstrap.Admin/Program.cs +++ b/src/admin/Bootstrap.Admin/Program.cs @@ -23,6 +23,6 @@ namespace Bootstrap.Admin /// public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) - .ConfigureWebHostDefaults(builder => builder.UseStartup()); + .ConfigureWebHostDefaults(builder => builder.UseSentry().UseStartup()); } } From a86e717cedf772c1a549806079ef39c7bb4a72e9 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Sun, 29 Sep 2019 11:17:19 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20Client=20=E6=94=AF=E6=8C=81=20NETCo?= =?UTF-8?q?re=203.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Bootstrap.Client/Bootstrap.Client.csproj | 3 +- src/client/Bootstrap.Client/Program.cs | 13 ++++---- src/client/Bootstrap.Client/Startup.cs | 33 ++++++++++--------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/src/client/Bootstrap.Client/Bootstrap.Client.csproj b/src/client/Bootstrap.Client/Bootstrap.Client.csproj index b5cd5be0..7cc814af 100644 --- a/src/client/Bootstrap.Client/Bootstrap.Client.csproj +++ b/src/client/Bootstrap.Client/Bootstrap.Client.csproj @@ -9,9 +9,8 @@ - - + diff --git a/src/client/Bootstrap.Client/Program.cs b/src/client/Bootstrap.Client/Program.cs index 9bd3da05..f5c6ea30 100644 --- a/src/client/Bootstrap.Client/Program.cs +++ b/src/client/Bootstrap.Client/Program.cs @@ -1,5 +1,5 @@ -using Microsoft.AspNetCore; -using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; namespace Bootstrap.Client { @@ -14,16 +14,15 @@ namespace Bootstrap.Client /// public static void Main(string[] args) { - CreateWebHostBuilder(args).Build().Run(); + CreateHostBuilder(args).Build().Run(); } - /// /// /// /// /// - public static IWebHostBuilder CreateWebHostBuilder(string[] args) => - WebHost.CreateDefaultBuilder(args) - .UseStartup(); + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(builder => builder.UseStartup()); } } diff --git a/src/client/Bootstrap.Client/Startup.cs b/src/client/Bootstrap.Client/Startup.cs index d7671a4a..c81ae680 100644 --- a/src/client/Bootstrap.Client/Startup.cs +++ b/src/client/Bootstrap.Client/Startup.cs @@ -1,6 +1,7 @@ using Bootstrap.Client.DataAccess; using Longbow.Web; using Longbow.Web.SignalR; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; @@ -8,6 +9,7 @@ using Microsoft.AspNetCore.HttpOverrides; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using System; @@ -54,19 +56,19 @@ namespace Bootstrap.Client services.AddBootstrapHttpClient(); services.AddIPLocator(DictHelper.ConfigIPLocator); services.AddOnlineUsers(); - services.AddSignalR().AddJsonProtocalDefault(); services.AddResponseCompression(); services.AddBootstrapAdminAuthentication(); - services.AddMvc(options => + services.AddAuthorization(options => options.DefaultPolicy = new AuthorizationPolicyBuilder().RequireBootstrapAdminAuthorizate().Build()); + services.AddControllersWithViews(options => { - options.Filters.Add(); options.Filters.Add(); - }).AddJsonOptions(options => + options.Filters.Add>(); + }).AddNewtonsoftJson(op => { - options.SerializerSettings.ContractResolver = new DefaultContractResolver(); - options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; - JsonConvert.DefaultSettings = () => options.SerializerSettings; - }).SetCompatibilityVersion(CompatibilityVersion.Version_2_2); + op.SerializerSettings.ContractResolver = new DefaultContractResolver(); + op.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; + JsonConvert.DefaultSettings = () => op.SerializerSettings; + }); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. @@ -75,7 +77,7 @@ namespace Bootstrap.Client /// /// /// - public void Configure(IApplicationBuilder app, IHostingEnvironment env) + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseForwardedHeaders(new ForwardedHeadersOptions() { ForwardedHeaders = ForwardedHeaders.All }); if (env.IsDevelopment()) @@ -94,15 +96,16 @@ namespace Bootstrap.Client app.UseResponseCompression(); app.UseStaticFiles(); app.UseCookiePolicy(); - app.UseBootstrapAdminAuthentication(RoleHelper.RetrievesByUserName, RoleHelper.RetrievesByUrl, AppHelper.RetrievesByUserName); + + app.UseRouting(); + app.UseAuthentication(); + app.UseAuthorization(); + app.UseBootstrapAdminAuthorization(RoleHelper.RetrievesByUserName, RoleHelper.RetrievesByUrl, AppHelper.RetrievesByUserName); app.UseCacheManager(); app.UseOnlineUsers(callback: TraceHelper.Save); - app.UseSignalR(routes => { routes.MapHub("/NotiHub"); }); - app.UseMvc(routes => + app.UseEndpoints(endpoints => { - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); + endpoints.MapDefaultControllerRoute().RequireAuthorization(); }); } } From 9a2188674d7870f907c990d154eb958a1da7cb84 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Sun, 29 Sep 2019 13:14:23 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat:=20=E7=BD=91=E9=A1=B5=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/Bootstrap.Admin/Startup.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/admin/Bootstrap.Admin/Startup.cs b/src/admin/Bootstrap.Admin/Startup.cs index ae3f6aa5..ce258b32 100644 --- a/src/admin/Bootstrap.Admin/Startup.cs +++ b/src/admin/Bootstrap.Admin/Startup.cs @@ -14,6 +14,8 @@ using Microsoft.Extensions.Hosting; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using System; +using System.Text.Encodings.Web; +using System.Text.Unicode; namespace Bootstrap.Admin { @@ -43,7 +45,7 @@ namespace Bootstrap.Admin /// public void ConfigureServices(IServiceCollection services) { - //services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All)); + services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All)); services.Configure(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request.