From 5b195c87d8aaa3d9b77a8f538900f39b7e120c21 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Tue, 7 Jun 2016 15:59:14 +0200 Subject: [PATCH] refabrique, pour chaine de connection en statique --- Yavsc/Startup/BundleConfig.cs | 28 ++++++++++++++ Yavsc/Startup/Startup.FileServer.cs | 33 +++++++++++++++++ Yavsc/Startup/Startup.cs | 57 ++++++----------------------- 3 files changed, 72 insertions(+), 46 deletions(-) create mode 100644 Yavsc/Startup/BundleConfig.cs create mode 100644 Yavsc/Startup/Startup.FileServer.cs diff --git a/Yavsc/Startup/BundleConfig.cs b/Yavsc/Startup/BundleConfig.cs new file mode 100644 index 00000000..634b8d27 --- /dev/null +++ b/Yavsc/Startup/BundleConfig.cs @@ -0,0 +1,28 @@ + +using System.Web.Optimization; + +namespace Yavsc +{ + public class BundleConfig + { + public static void RegisterBundles(BundleCollection bundles) + { + bundles.Add(new ScriptBundle("~/bundles/bootjq").Include( + "~/bower_components/bootstrap/dist/js", + "~/bower_components/jquery/dist/js", + "~/bower_components/jquery.validation/dist/js", + "~/bower_components/jquery-validation-unobtrusive/dist/js", + "~/bower_components/bootstrap-datepicker/dist/js")); + bundles.Add(new StyleBundle("~/Content/themes/base/css").Include( + )); + bundles.Add(new ScriptBundle("~/bundles/markdown").Include( + "~/bower_components/dropzone/dist/min/dropzone-amd-module.min.js", + "~/bower_components/dropzone/dist/min/dropzone.min.js" + )); + bundles.Add(new StyleBundle("~/Content/markdown").Include( + "~/bower_components/dropzone/dist/min/basic.min.css", + "~/bower_components/dropzone/dist/min/dropzone.min.css" + )); + } + } +} diff --git a/Yavsc/Startup/Startup.FileServer.cs b/Yavsc/Startup/Startup.FileServer.cs new file mode 100644 index 00000000..8f83ea40 --- /dev/null +++ b/Yavsc/Startup/Startup.FileServer.cs @@ -0,0 +1,33 @@ +using System.IO; +using Microsoft.AspNet.Builder; +using Microsoft.AspNet.FileProviders; +using Microsoft.AspNet.Hosting; +using Microsoft.AspNet.Http; +using Microsoft.AspNet.StaticFiles; + +namespace Yavsc +{ + + public partial class Startup + { + public static string UserFilesDirName { get; private set; } + public void ConfigureFileServerApp(IApplicationBuilder app, + SiteSettings siteSettings, IHostingEnvironment env) + { + app.UseFileServer(new FileServerOptions() + { + FileProvider = new PhysicalFileProvider( + Path.Combine( + env.WebRootPath, + // TODO: add a ressource serveur id here, + // or remove the blog entry id usage, to use the userid instead + // and an user defined optional subdir. + siteSettings.UserFiles.DirName + )), + RequestPath = new PathString("/" + siteSettings.UserFiles.DirName), + EnableDirectoryBrowsing = false + }); + app.UseStaticFiles(); + } + } +} diff --git a/Yavsc/Startup/Startup.cs b/Yavsc/Startup/Startup.cs index 49fe8763..03491955 100755 --- a/Yavsc/Startup/Startup.cs +++ b/Yavsc/Startup/Startup.cs @@ -13,7 +13,6 @@ using Microsoft.AspNet.Authorization; using Microsoft.AspNet.Builder; using Microsoft.AspNet.DataProtection.Infrastructure; using Microsoft.AspNet.Diagnostics; -using Microsoft.AspNet.FileProviders; using Microsoft.AspNet.Hosting; using Microsoft.AspNet.Http; using Microsoft.AspNet.Identity; @@ -40,33 +39,9 @@ using OAuth.AspNet.AuthServer; namespace Yavsc { - - public class BundleConfig - { - public static void RegisterBundles(BundleCollection bundles) - { - bundles.Add(new ScriptBundle("~/bundles/bootjq").Include( - "~/bower_components/bootstrap/dist/js", - "~/bower_components/jquery/dist/js", - "~/bower_components/jquery.validation/dist/js", - "~/bower_components/jquery-validation-unobtrusive/dist/js", - "~/bower_components/bootstrap-datepicker/dist/js")); - bundles.Add(new StyleBundle("~/Content/themes/base/css").Include( - )); - bundles.Add(new ScriptBundle("~/bundles/markdown").Include( - "~/bower_components/dropzone/dist/min/dropzone-amd-module.min.js", - "~/bower_components/dropzone/dist/min/dropzone.min.js" - )); - bundles.Add(new StyleBundle("~/Content/markdown").Include( - "~/bower_components/dropzone/dist/min/basic.min.css", - "~/bower_components/dropzone/dist/min/dropzone.min.css" - )); - } - } - public partial class Startup { - public static string UserFilesDirName { get; private set; } + public static string ConnectionString { get; private set; } private RsaSecurityKey key; public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) @@ -87,6 +62,7 @@ namespace Yavsc builder.AddEnvironmentVariables(); Configuration = builder.Build(); + ConnectionString = Configuration["Data:DefaultConnection:ConnectionString"]; } public IConfigurationRoot Configuration { get; set; } @@ -194,7 +170,7 @@ namespace Yavsc // Add framework services. services.AddEntityFramework() .AddNpgsql() - .AddDbContext(options => options.UseNpgsql(Configuration["Data:DefaultConnection:ConnectionString"])) + .AddDbContext(options => options.UseNpgsql(ConnectionString)) ; services.AddIdentity( @@ -203,14 +179,15 @@ namespace Yavsc option.User.AllowedUserNameCharacters += " "; option.User.RequireUniqueEmail = true; option.Cookies.ApplicationCookie.DataProtectionProvider = - new MonoDataProtectionProvider(Configuration["Site:Title"]); - option.Cookies.ApplicationCookie.CookieName = "Bearer"; - + new MonoDataProtectionProvider(Configuration["Site:Title"]); } ).AddEntityFrameworkStores() .AddTokenProvider>(Constants.EMailFactor) .AddTokenProvider(Constants.DefaultFactor) ; + + + // .AddTokenProvider(Constants.SMSFactor) // @@ -244,7 +221,7 @@ namespace Yavsc options.AddPolicy("FrontOffice", policy => policy.RequireRole(Constants.FrontOfficeGroupName)); options.AddPolicy("Bearer", new AuthorizationPolicyBuilder() - .AddAuthenticationSchemes("ServerCookie") + .AddAuthenticationSchemes("yavsc") .RequireAuthenticatedUser().Build()); // options.AddPolicy("EmployeeId", policy => policy.RequireClaim("EmployeeId", "123", "456")); // options.AddPolicy("BuildingEntry", policy => policy.Requirements.Add(new OfficeEntryRequirement())); @@ -388,21 +365,10 @@ namespace Yavsc options.AuthenticationDescriptions.Clear(); options.AutomaticAuthentication = true; }); + + ConfigureFileServerApp(app,siteSettings.Value,env); - app.UseFileServer(new FileServerOptions() - { - FileProvider = new PhysicalFileProvider( - Path.Combine( - env.WebRootPath, - // TODO: add a ressource serveur id here, - // or remove the blog entry id usage, to use the userid instead - // and an user defined optional subdir. - siteSettings.Value.UserFiles.DirName - )), - RequestPath = new PathString("/" + siteSettings.Value.UserFiles.DirName), - EnableDirectoryBrowsing = false - }); - app.UseStaticFiles().UseWebSockets(); + app.UseWebSockets(); app.UseIdentity(); @@ -445,7 +411,6 @@ namespace Yavsc options.ExpireTimeSpan = TimeSpan.FromMinutes(5); options.LoginPath = new PathString("/signin"); options.LogoutPath = new PathString("/signout"); - options.CookieName = "Bearer"; }); app.UseMiddleware(googleOptions);