我是mvc的新手,我试图找出一些东西。
我有登录页面的内部网应用程序。我把一些东西放在Session和master页面的init事件中我检查
If Page.User.Identity.IsAuthenticated Then
If Session("someThing") Is Nothing Then Me.SetupSession()
End If
这是来自网络表单,这适用于所有页面。
我怎样才能在MVC 3中做同样的事情。
答案 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()
方法中执行此操作。