在我的授权申请中所做的是,当用户登录时,将在每次操作后使用用户的 id 创建一个 cookie,我会检查 cookie,如果它不为空,则继续,否则重定向到登录页面,假设用户是被注销。
MVC 中是否有任何好的方法,以便我可以避免检查每个操作。或者是授权的好方法。
在我的授权申请中所做的是,当用户登录时,将在每次操作后使用用户的 id 创建一个 cookie,我会检查 cookie,如果它不为空,则继续,否则重定向到登录页面,假设用户是被注销。
MVC 中是否有任何好的方法,以便我可以避免检查每个操作。或者是授权的好方法。
您可以使用 [Authorize] 属性:
它不能用于每个 ActionResult:
[Authorize]
public ActionResult Index()
{
return View()
}
或用于控制器。在这种情况下,您不需要为每个操作都应用属性:
[Authorize]
public class HomeController : Controller
{
public ActionResult Index()
{
return View()
}
}
如果控制器中具有 [Authorize] 属性的任何操作允许匿名使用,您可以为其使用 [AllowAnonymous] 属性:
[Authorize]
public class HomeController : Controller
{
public ActionResult Index()
{
return View()
}
[AllowAnonymous]
public ActionResult Edit()
{
return View()
}
}