我用 C# 在 ASP.NET MVC4 中编写了一个 webApp。我使用 FormsAuthentication.SetAuthCookie(username, true); 登录用户 方法。
现在我想检查每个控制器的登录状态。如果没有人登录,用户应该被重定向到登录控制器视图。我不想手动将这段代码添加到每个控制器中。
任何人的想法,如何做到这一点?
我用 C# 在 ASP.NET MVC4 中编写了一个 webApp。我使用 FormsAuthentication.SetAuthCookie(username, true); 登录用户 方法。
现在我想检查每个控制器的登录状态。如果没有人登录,用户应该被重定向到登录控制器视图。我不想手动将这段代码添加到每个控制器中。
任何人的想法,如何做到这一点?
使用 [AuthorizeAttribute] 来实现您所需要的。例如:
public class AccountController : Controller
{
[Authorize]
ActionResult ActionRequiringAuthorization()...
....
[AllowAnonymous] //Will allow both, authenticated and non-authenticated requests
ActionResult PublicAction() ...
}
如果用户不再通过身份验证,则在尝试执行任何带有 Authorize 属性的操作时,他将被重定向到登录页面。
您可以装饰整个控制器以将相同的属性应用于所有操作,如下所示:
[Authorize]
public class AccountController : Controller