我是ASP.NET MVC 5的新手,希望我的网站能够:
其中m和d是存储在数据库中的 用户特定的 值
重新开始会话:我不确定是否尝试自定义验证身份验证Cookie或会话Cookie或两者?似乎OWIN / ASP.NET Identity 2.2.1机制仅允许ConfigureAuth(IAppBuilder app)
内的auth cookie到期的通用设置:
public void ConfigureAuth(IAppBuilder app)
{
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
ExpireTimeSpan = // ...some expiration value here
//...other options
});
}
是否有一些备用入口点,我可以在身份验证期间为当前用户的身份验证Cookie过期设置自定义值?在此站点正在替换的旧ASP.NET Web窗体应用程序中,在登录后很容易用自定义过期值替换auth cookie,但在ASP.NET Identity 2.2.1下似乎无法以相同方式访问它?
重新强制密码更新:我已经看到了各种过滤器解决方案:一个here基于扩展AuthorizeAttribute
并覆盖OnAuthorization()
方法。另一个here扩展ActionFilterAttribute
并调用OnActionExecuting()
方法。两者看起来都会完成这项工作,但会分别为每个请求或每个操作调用(大概是?) - 这似乎有点过分,因为我只需要在每个会话中检查密码到期时间一次?
我不确定这里的最佳做法,所以我很感激你的一些指示。