【问题标题】:globally session check and redirection in asp.net mvc 4asp.net mvc 4中的全局会话检查和重定向
【发布时间】:2015-09-18 10:45:20
【问题描述】:

我正在使用 ASP.Net MVC 4 开发一个 Web 应用程序,该应用程序有一个登录页面和 5 个其他页面,只有登录用户才能访问。 那么我如何全局检查所有页面中是否存在会话,而无需在所有其他页面(操作)中编写以下代码:-

if (Session["login"] != null)
        {
            return View();
        }
        else
        {
            return RedirectToAction("LoginPage");
        }

还有其他方法可以全局检查会话(授权)并重定向到登录页面(操作)吗? 这可以通过布局文件实现吗?就像我将为登录用户将访问的所有页面创建一个通用标题布局一样,因此在该标题布局中是否可以检查会话(授权)并重定向到登录页面(如果未登录)?

【问题讨论】:

  • 使用Authorize 属性。 asp.net/web-api/overview/security/…
  • 你可以看看这个:Form Authentication in ASP.NET MVC codeproject.com/Articles/578374/…
  • @trungtin1710 感谢有用的链接,是否可以通过布局文件?就像我将为登录用户将访问的所有页面创建一个通用标题布局,因此在该标题布局中是否可以检查会话(授权)并重定向到登录页面(如果未登录)?
  • @MAK 这就是@ramiramilu 提到的Authorize 属性的作用。那个代码项目链接的文章老了,今天要走的路是用asp.net/identity

标签: c# asp.net asp.net-mvc asp.net-mvc-4 session


【解决方案1】:

您可以通过使用 [Authorize] 属性装饰的“基本”控制器来简化填充每个操作,然后其他控制器从它继承。这将使授权持续到“子”控制器及其操作。 但是,当您希望在不同操作具有不同角色的成员资格中实现角色时,这会成为问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    相关资源
    最近更新 更多