扩大
缩小
  

Asp.Net Core--简单的授权

翻译如下:

  在MVC中授权通过控制AuthorizeAttribute属性及其各种参数。在最简单的应用AuthorizeAttribute属性控制器或行动限制访问控制器或操作任何身份验证的用户。

例如,下面的代码限制了对AccountController任何身份验证的用户。

[Authorize]
public class AccountController : Controller
{
    public ActionResult Login()
    {
    }

    public ActionResult Logout()
    {
    }
}

  如果你想给Action授权,而不想在控制器。可以简单地套用一个AuthorizeAttribute属性在Action上。 

public class AccountController : Controller
{
    public ActionResult Login()
    {
    }

    [Authorize]
    public ActionResult Logout()
    {
    }
}

  现在只有通过身份验证的用户才能访问登出功能。

  您也可以使用AllowAnonymousAttribute属性,允许非认证用户个人操作的访问。 例如:

[Authorize]
public class AccountController : Controller
{
    [AllowAnonymous]
    public ActionResult Login()
    {
    }

    public ActionResult Logout()
    {
    }
}

  这将只允许通过认证的用户的AccountController,除了Login的Action,这是所有人开放,无论他们的身份验证或未经身份验证/匿名状态。

注意:

  [AllowAnonymous]绕过所有授权语句。如果你申请相结合[AllowAnonymous]和任何[Authorize]然后属性属性授权总是被忽略。例如,如果你申请[AllowAnonymous]在控制器级别的任何[Authorize]属性同一个控制器上,或其中的任何行动都将被忽略。

posted @ 2016-10-18 10:28  风筝遇上风  阅读(544)  评论(0编辑  收藏  举报