zoukankan      html  css  js  c++  java
  • 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]属性同一个控制器上,或其中的任何行动都将被忽略。

  • 相关阅读:
    雷霆战机
    各种 Python 库/模块/工具
    redis
    25
    为什么Python中“2==2>1”结果为True
    thinkphp3.2路由美化,url简化
    thinkphp调整框架核心目录think的位置
    thinkphp3.2中开启静态缓存后对404页面的处理方法
    thinphp中volist嵌套循环时变量$i 被污染问题,key="k"
    thinkphp中如何是实现多表查询
  • 原文地址:https://www.cnblogs.com/duyao/p/5972360.html
Copyright © 2011-2022 走看看