检查每个控制器方法中的登录状态

本文关键字:登录 状态 方法 控制器 检查 | 更新日期: 2023-09-27 18:01:08

我用ASP编写了一个webApp。NET MVC4与C#。我使用FormsAuthentication登录用户。SetAuthCookie(用户名,true(;方法

现在我想检查每个控制器的登录状态。如果没有人登录,则应将用户重定向到登录控制器视图。我不想手动将这段代码添加到每个控制器中。

有人知道怎么做吗?

检查每个控制器方法中的登录状态

使用[AuthorizeAttribute]来实现您所需要的。例如:

public class AccountController : Controller
{
     [Authorize]
     ActionResult ActionRequiringAuthorization()...
     ....
     [AllowAnonymous] //Will allow both, authenticated and non-authenticated requests
     ActionResult PublicAction() ...
}

如果用户不再经过身份验证,那么在尝试执行任何带有Authorize属性的操作时,他将被重定向到Login页面。

您可以装饰整个控制器,将相同的属性应用于所有操作,如中所示

 [Authorize]
 public class AccountController : Controller