OWIN注销不会使会话过期。使用存储的Cookie,用户可以访问安全页面

时间:2018-10-06 17:02:58

标签: session owin

Microsoft.owin身份验证安全库专门用于应用程序Cookies,与应用程序会话无关。通过GetOwinContext()。Authentication.SignOut(),应用程序到期,清除相关的身份验证cookie,以便用户无法通过浏览器访问安全页面。如果有人设法存储cookie(例如使用brup工具),那么即使注销后使用存储的cookie,他也可以访问安全页面。使用存储的库注销后访问安全页面,似乎会话未在服务器端到期。是的,这是正确的,OWIN signout()不会使会话期满,它只会清除身份验证cookie。

因此,在OWIN注销后使服务器会话无效的方法是什么,以便没有人可以使用存储的cookie访问安全页面。

无法使用OWIN库使会话无效。您必须按照自己的方式去做。我所做的是... 1.登录后,将值存储在会话中,指示会话仍处于活动状态。 session [“ AppState”] =“ ALIVE”。 2.注销后,将不同的值存储在会话中以指示会话已过期。 session [“ AppState”] =“ EXPIRED”。 3.覆盖Authorize属性类并处理AuthorizeCore方法以检查会话[“ AppState”]。如果它包含“ ALIVE”,则表示会话有效并且允许授权,否则不允许授权。

这样,从应用程序注销后,没有人可以使用存储的cookie访问安全内容。

0 个答案:

没有答案