检查每个页面上的会话

时间:2011-08-26 08:55:55

标签: asp.net-mvc

我是mvc的新手,我试图找出一些东西。

我有登录页面的内部网应用程序。我把一些东西放在Session和master页面的init事件中我检查

If Page.User.Identity.IsAuthenticated Then
      If Session("someThing") Is Nothing Then Me.SetupSession()
End If

这是来自网络表单,这适用于所有页面。

我怎样才能在MVC 3中做同样的事情。

2 个答案:

答案 0 :(得分:3)

您可以使用Action过滤器来保护控制器上的操作方法

如果您有一个基本控制器,只需添加以下属性,否则您需要在要保护的所有控制器上添加此属性

[Authorize] 
public class SomeController : DefaultController
{
      public ActionResult SomeAction(){
     }
}

此属性允许您指定消息

[Authorize(Message = "Access to the blah blah function requires login. Please login or create an account")]

了解更多信息:

http://www.asp.net/mvc/tutorials/authenticating-users-with-forms-authentication-cs

答案 1 :(得分:0)

根据您的需要,您可以编写全局过滤器来设置会话,或者在控制器的Initialize()方法中执行此操作。