у меня есть веб-приложение mvc, сборка с asp.net core mvc 2.2.
Во время работы все работает нормально.
Когда я много покидаю свой браузер, когда я возвращаюсьи нажмите на ссылку или нажмите F5, страница будет белой, без какой-либо ошибки приложения: просто ошибка 401.
Я повторяю эту ошибку, удаляя файл cookie .AspNetCore.Identity.Application (истекает сеанс).
.AspNetCore.Identity.Application cookie - это файл по умолчанию.
Здесь мой класс запуска:
'c #
namespace MyWebApp
{
public class Startup
{
private ApplicationDbContext _mycontext;
public Startup(IHostingEnvironment env)
{
//something
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
int minutes = 10; //to appsettings
services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection"),
sqlServerOptions => sqlServerOptions.CommandTimeout((60*minutes)+1))
);
services.AddIdentity<ApplicationUser, ApplicationRole>(options =>
{
options.Password.RequireDigit = false;
options.Password.RequiredLength = 4;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
options.Password.RequireLowercase = false;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddTransient<IEmailSender, EmailSender>();
services.AddSingleton<IMvcControllerDiscovery, MvcControllerDiscovery>();
services.AddMvc(options => options.Filters.Add(typeof(DynamicAuthorizationFilter))); //mmmmmm
services.AddHttpContextAccessor();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ApplicationDbContext context, RoleManager<ApplicationRole> roleManager, UserManager<ApplicationUser> userManager, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
loggerFactory.AddContext(LogLevel.Information, Configuration.GetConnectionString("DefaultConnection"));
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseStaticFiles();
app.Map("/fexml", subApp =>
{
//something
});
app.Map("/fexml-d", subApp =>
{
//something
});
DataSeed.Initialize(context, userManager, roleManager).Wait();
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
}
Я следовал этомуссылка: https://www.codeproject.com/Articles/1248792/Dynamic-Role-Based-Authorization-in-ASP-NET-Core для создания DynamicAuthorizationFilter.
Может ли у вас такое же предложение? спасибо