我使用的是带有标识2.0的MVC 4,我的网站中有(开箱即用的功能)"记住我",我想禁用这个选项,并在我的网站上有以下两个选项之一:
1.用户每次使用我的网站时都需要登录(输入用户名和密码)。
2.用户每次都需要登录,但网站会记住他30分钟,而不会强迫他在该时间段内登录(在我们的情况下是30分钟)。
我该如何完成这三件事
要禁用,我只需评论登录页面中的复选框,我认为它会起作用:)
编辑:
当我设置这个:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Logon/LogOn"),
ExpireTimeSpan = TimeSpan.FromMinutes(30),
});
我需要评论/删除这个代码从那里:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
要禁用"记住我",请将false
作为中的最后一个参数
await userManager.SignInAsync(AuthenticationManager, user, false);
并从视图中删除此复选框。
要使cookie在30分钟内过期,请在Auth.Config
中将ExpireTimeSpan
设置为30分钟
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Logon/LogOn"),
ExpireTimeSpan = TimeSpan.FromMinutes(30),
});