ASP.Net - MVC 5 - 如果用户离开特定区域,则将用户注销

时间:2015-02-16 13:30:14

标签: asp.net asp.net-mvc security header identity

目标: 如果他们离开这个区域,我试图让用户注销。 地区名称:雇主 如果用户进入主页或网络上的任何其他位置并尝试登录或点击后退按钮,我希望系统结束用户会话。

例如: www.example.com/employer/dashboard - 受到保护,用户必须登录才能访问此区域。

如果用户访问www.google.com并尝试返回 www.example.com/employer/dashboard 他们的会话结束,他们将被重定向到登录页面。

一些问题:

  • 扩展AuthorizeAttribute是不是一个好主意?
  • 如何关闭用户?
  • 如何检测用户是否离开该区域并返回。
  • 我应该制作某种基本控制器,所有其他控制器都在该区域继承,以便该区域受到保护吗?
  • 解决方案应该是服务器端吗?

任何建议都会有所帮助

2 个答案:

答案 0 :(得分:0)

我建议您使用window.onunload事件,并在发生此事件时注销您的用户。

答案 1 :(得分:0)

出于此目的,使用ASP.NET MVC授权过滤器,该过滤器在任何其他过滤器之前运行。

想法是检查Path是否与安全路径匹配然后加载区域,否则不进行身份验证并重定向到登录。棘手的部分是控制流量而不是陷入页面循环。

看看这个:  http://www.dotnetcurry.com/showarticle.aspx?ID=957