Example #1
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            services.AddSingleton(_complianceLevel);
            services.AddSingleton <ILoggingService, InMemoryLogger>();
            services.AddScoped <IViewRenderService, ViewRenderService>();
            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            ConfigurableCountermeasures.AddAntiforgery(services);
            ConfigurableCountermeasures.AddAuthentication(services);

            DbInitializer.CreateAndSeedDatabase(services.BuildServiceProvider());
        }
Example #2
0
        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(env.ContentRootPath)
                          .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                          .AddJsonFile("compliancesettings.json")
                          .AddJsonFile("compliancesettings.runtime.json", optional: true);

            Configuration    = builder.Build();
            _complianceLevel = Configuration
                               .GetSection(nameof(ComplianceSettings))
                               .Get <ComplianceSettings>();
            ConfigurableCountermeasures.Use(_complianceLevel);
        }
Example #3
0
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            ConfigurableCountermeasures.ConfigureContentSecurityPolicy(app);
            ConfigurableCountermeasures.ConfigureOriginServerHeaders(app);
            ConfigurableCountermeasures.ConfigureTransportSecurityHeaders(app);
            ConfigurableCountermeasures.ConfigureErrorHandling(app);
            ConfigurableCountermeasures.ConfigureHttpsRedirection(app, Configuration.GetValue <int>("Bindings:https"));

            app.UseStaticFiles();

            ConfigurableCountermeasures.ConfigureCachingHeaders(app);

            app.UseMvc(routes =>
            {
                routes.MapRoute(name: "default", template: "{controller=About}/{action=Index}/{id?}");
            });

            app.ApplicationServices.GetService <ILoggingService>().ApplicationStarted();
        }