MVC 身份 ||禁用所有 cookie 和"remember me"选项?



我使用的是带有标识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),
});

相关内容

  • 没有找到相关文章

最新更新