如何解决Razor 页面 Microsoft 身份将在几分钟后注销用户
我正在开发 Razor 页面应用程序并使用 Microsoft 标识。问题是当我登录并保持不活动状态大约 20-30 分钟时,应用程序会将我注销。不活动是指服务器不活动。例如,我必须填写巨大的表格,我将填写一个小时。但是当我按下保存。它不会保存,它会将我重定向到登录页面。但是,如果我在几分钟内填写它,一切都会好起来的。谁能帮我 ?我缺少启动时的某些设置吗? 对不起,如果这是一些微不足道的问题。但是我找不到关于这个问题的任何信息。
启动:
namespace WorkersManager
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddMvc().AddRazorPagesOptions(options =>
{
//options.Conventions.AuthorizePage("/Privacy");
//options.Conventions.Authorizefolder("/Workers");
options.Conventions.Authorizefolder("/");
});
services.AddMvc(options =>
{
options.MaxModelBindingCollectionSize = 1500;
});
services.Configure<IdentityOptions>(options =>
{
// Password settings.
options.Password.requiredigit = true;
options.Password.RequireLowercase = true;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
options.Password.requiredLength = 6;
options.Password.requiredUniqueChars = 1;
// Lockout settings.
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromDays(1);
options.Lockout.MaxFailedAccessAttempts = 5;
options.Lockout.AllowedForNewUsers = true;
// User settings.
options.User.AllowedUserNameCharacters =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMnopQRSTUVWXYZ0123456789-._@+";
options.User.RequireUniqueEmail = false;
});
services.Configure<FormOptions>(options =>
{
options.ValueCountLimit = 8000; // 200 items max
//options.ValueLengthLimit = 1024 * 1024 * 100; // 100MB max len form data
});
services.ConfigureApplicationCookie(options =>
{
// Cookie settings
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromDays(1);
options.LoginPath = "/Identity/Account/Login";
options.AccessDeniedpath = "/Identity/Account/AccessDenied";
options.ExpireTimeSpan = TimeSpan.FromHours(10);
options.SlidingExpiration = true;
});
services.AddAuthorization(options =>
{
options.AddPolicy("RequireAdministratorRole",policy => policy.RequireRole("Administrator"));
options.AddPolicy("RequireUserRole",policy => policy.RequireRole("User"));
});
services.AddDbContext<IdentityContext>(options =>////WorkersManagerrContext
options.UsesqlServer(Configuration.GetConnectionString("WorkersManagerrContext")));
//services.AddDefaultIdentity<IdentityUser>().AddRoles<IdentityRole>()
// .AddEntityFrameworkStores<IdentityContext>();
services.AddHttpContextAccessor();
services.Configure<SecurityStampValidatorOptions>(options => options.ValidationInterval = TimeSpan.FromHours(10));
}
public void Configure(IApplicationBuilder app,IWebHostEnvironment env,IServiceProvider serviceProvider)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios,see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。