打开Startup.cs文件并将以下代码添加到ConfigureServices方法中以注册Identity服务:
services.AddIdentity
接下来在Configure方法中添加以下中间件: app.UseAuthentication(); app.UseSession();
在Identity中,可以使用的自动注销设置为“SignedOut”。
在ConfigureServices中,添加以下代码来配置注销超时:
services.Configure
最后,添加以下代码到Startup.cs文件中的Configure方法中,启用注销超时: app.UseCookiePolicy(); app.UseCookieAuthentication(new CookieAuthenticationOptions { ExpireTimeSpan = TimeSpan.FromMinutes(10), SlidingExpiration = true });
此设置将在用户在10分钟内未操作时注销身份验证,并从会话中删除Cookie。 注意:您可以根据需要自定义注销超时时间。
完整的示例代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext
services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores();
services.Configure(options =>
{
options.ValidationInterval = TimeSpan.FromMinutes(10);
});
services.AddControllersWithViews();
services.AddRazorPages();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseSession();
app.UseCookiePolicy();
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
ExpireTimeSpan = TimeSpan.From