//добавляем поддержку контролеров и представлений(MVC)
services.AddControllersWithViews()
//выставляем совместимость с asp net core 3.1
.SetCompatibilityVersion(CompatibilityVersion.Version_3_0).AddSessionStateTempDataProvider();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
//!! порядок регистрации Middleware
//вывод ошибок в процессе разработки
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
// поддержка статичных файлов в приложении (js, css)
app.UseStaticFiles();
//подключаем маршрутизацию
app.UseRouting();
//подключаем аутентификацию и авторизацию
app.UseCookiePolicy();
app.UseAuthentication();
app.UseAuthorization();
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration) => Configuration = configuration;
public void ConfigureServices(IServiceCollection services)
{
//подключаем конфиг из appsettings.json
Configuration.Bind("Project", new Config());
//подключаем нужный функционал приложения в качестве сервисов
services.AddTransient();
services.AddTransient();
services.AddTransient();
//подключаем контекст БД
services.AddDbContext(x => x.UseSqlServer(Config.ConnectionString));
//настраиваем identity систему
services.AddIdentity(opts =>
{
opts.User.RequireUniqueEmail = true;
opts.Password.RequiredLength = 6;
opts.Password.RequireNonAlphanumeric = false;
opts.Password.RequireLowercase = false;
opts.Password.RequireUppercase = false;
opts.Password.RequireDigit = false;
}).AddEntityFrameworkStores().AddDefaultTokenProviders();
//настраиваем cookie
services.ConfigureApplicationCookie(options =>
{
options.Cookie.Name = "MyCompanyAuth";
options.Cookie.HttpOnly = true;
options.LoginPath = "account/login";
options.AccessDeniedPath = "account/accessdenied";
options.SlidingExpiration = true;
});
//добавляем поддержку контролеров и представлений(MVC)
services.AddControllersWithViews()
//выставляем совместимость с asp net core 3.1
.SetCompatibilityVersion(CompatibilityVersion.Version_3_0).AddSessionStateTempDataProvider();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
//!! порядок регистрации Middleware
//вывод ошибок в процессе разработки
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
// поддержка статичных файлов в приложении (js, css)
app.UseStaticFiles();
//подключаем маршрутизацию
app.UseRouting();
//подключаем аутентификацию и авторизацию
app.UseCookiePolicy();
app.UseAuthentication();
app.UseAuthorization();
// регистрация нужных нам маршрутов
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
});
}
}