ASP.NET MVC Identity如果用户已经登录,如何防止登录?

时间:2016-07-01 20:08:00

标签: asp.net .net asp.net-mvc authentication asp.net-identity

我已按照本书" Pro ASP.NET MVC 5平台"第13章到第15章。这些章节的代码可以从Apress网站http://www.apress.com/9781430265412免费下载。我理解这个问题可能最适合那些完成相同编码练习的人,但我希望他们和其他人可以帮助我解决这个问题。该系统基于.NET平台的Identity框架。我的问题是,如何按照本书的步骤设计系统实现以下要求:

如果用户已登录,则不应允许他/她从其他浏览器登录,并且应显示相应的消息。此外,即使未单击“注销”按钮,也应将已关闭的浏览器视为已注销。实体框架或身份框架中是否有一些机制允许我在登录操作中签入以查看用户当前是否在会话中进行了身份验证?

谢谢。

1 个答案:

答案 0 :(得分:3)

如果您使用的是Identity框架,则控制器中有一个名为" User"它有一个属性"身份"它有一个属性" IsAuthenticated"。看看它,看看你如何使用它。

你可以在你的登录行动中使用它,就像这样。

 [AllowAnonymous]
 [OutputCache(NoStore = true, Location = OutputCacheLocation.None)]
 public ActionResult Login()
    {
            if (User.Identity.IsAuthenticated)
            {
                //return Dashboard url
            }

        return View();
    }