Asp.net mvc 3 MVC3中登录页面重定向的全局方法

Asp.net mvc 3 MVC3中登录页面重定向的全局方法,asp.net-mvc-3,Asp.net Mvc 3,我想知道如何使用全局方法为这种场景设计我的应用程序 如果用户未通过身份验证或会话已过期,则在登录页面上重定向 若用户确实有其他角色并尝试访问不属于该角色的页面,则在登录页面上重定向 若应用程序中不存在的页面被请求,则在登录页面上重定向 基本上,您可以创建ActionFilter,请参见: 或者在MVC3中使用另一种快捷方式,您可以在母版页页面顶部的razor代码中检查会话或身份验证,例如:\u LayOut.cshtml如下所示: @model CustomerModel{ if(Sessio

我想知道如何使用全局方法为这种场景设计我的应用程序

  • 如果用户未通过身份验证或会话已过期,则在登录页面上重定向
  • 若用户确实有其他角色并尝试访问不属于该角色的页面,则在登录页面上重定向
  • 若应用程序中不存在的页面被请求,则在登录页面上重定向

  • 基本上,您可以创建ActionFilter,请参见:

    或者在MVC3中使用另一种快捷方式,您可以在母版页页面顶部的razor代码中检查会话或身份验证,例如:
    \u LayOut.cshtm
    l如下所示:

    @model CustomerModel{
    if(Session["CustomerId"]==null)
        RedirectToActionResult("Index","Home");
    
    }
    

    注意:为此,您需要使用_LayOut.cshtml继承所有视图,而不要使用母版页继承/Home/Index视图,因为它将递归运行,并且会出现超时错误。

    您可以使用属性和过滤器来完成所有这些操作。一个快速的谷歌将产生大量的例子。