【发布时间】:2020-12-03 13:12:44
【问题描述】:
我正在使用带有基于 cookie 的身份验证的 ASP.NET MVC 5。我想更改用户角色并立即强制执行,但在用户注销并重新登录之前角色不会更改。
如何强制所有用户退出或更新其身份 cookie?
【问题讨论】:
标签: asp.net asp.net-mvc session-cookies asp.net-membership
我正在使用带有基于 cookie 的身份验证的 ASP.NET MVC 5。我想更改用户角色并立即强制执行,但在用户注销并重新登录之前角色不会更改。
如何强制所有用户退出或更新其身份 cookie?
【问题讨论】:
标签: asp.net asp.net-mvc session-cookies asp.net-membership
事实证明这很容易。您可以更改 cookie 名称(默认为 ASP.NET_SessionId,source)。
这会导致网站寻找不同的会话 cookie 名称,从而使旧的 cookie 无效。
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
ExpireTimeSpan = TimeSpan.FromDays(7),
CookieName = "[NewNameHere]",
});
}
【讨论】: