我使用MVC 4和身份2.0,我在我的网站(开箱即用功能)"记住我"我想禁用此选项,并在我的网站中使用以下两个选项之一:
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);
答案 0 :(得分:3)
禁用&#34;记住我&#34;将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),
});