using Microsoft.AspNet.Authorization; using Microsoft.AspNet.Builder; using Microsoft.AspNet.Identity; using Microsoft.AspNet.Mvc; using Microsoft.Data.Entity; using Microsoft.Framework.ConfigurationModel; using Microsoft.Framework.DependencyInjection; using AutoMapper; using MusicStore.Apis; using MusicStore.Models; using MusicStore.Spa.Infrastructure; namespace MusicStore.Spa { public class Startup { public Startup() { Configuration = new Configuration() .AddJsonFile("Config.json") .AddEnvironmentVariables(); } public Microsoft.Framework.ConfigurationModel.IConfiguration Configuration { get; set; } public void ConfigureServices(IServiceCollection services) { services.Configure(settings => { settings.DefaultAdminUsername = Configuration.Get("DefaultAdminUsername"); settings.DefaultAdminPassword = Configuration.Get("DefaultAdminPassword"); }); // Add MVC services to the service container services.AddMvc(); // Add EF services to the service container services.AddEntityFramework() .AddSqlServer() .AddDbContext(options => { options.UseSqlServer(Configuration.Get("Data:DefaultConnection:ConnectionString")); }); // Add Identity services to the services container services.AddIdentity(Configuration) .AddEntityFrameworkStores() .AddDefaultTokenProviders() .AddMessageProvider() .AddMessageProvider(); // Add application services to the service container //services.AddTransient(); // Configure Auth services.Configure(options => { options.AddPolicy("app-ManageStore", new AuthorizationPolicyBuilder().RequireClaim("app-ManageStore", "Allowed").Build()); }); Mapper.CreateMap(); Mapper.CreateMap(); Mapper.CreateMap(); Mapper.CreateMap(); Mapper.CreateMap(); Mapper.CreateMap(); Mapper.CreateMap(); Mapper.CreateMap(); } public void Configure(IApplicationBuilder app) { // Initialize the sample data SampleData.InitializeMusicStoreDatabaseAsync(app.ApplicationServices).Wait(); // Configure the HTTP request pipeline // Add cookie auth app.UseIdentity(); // Add static files app.UseStaticFiles(); // Add MVC app.UseMvc(); } } }