AllowAnonymous 与 OverrideAuthorizeAttribute

2024-05-14

AllowAnonymous 和 OverrideAuthorizeAttribute 的使用有什么区别。 是一样的吗?


http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

两者不同,但在某些情况下可以产生相同的效果。 身份验证是验证用户的过程。覆盖会在下一个最高范围级别禁用覆盖类型的过滤器。授权是确定用户是否有权访问特定资源的过程。 这[AllowAnonymous]属性禁用身份验证,以便 Web api 在访问用此属性修饰的控制器或用此属性修饰的特定操作方法的访问请求期间将跳过身份验证和授权。考虑链接中列出的文章中的以下控制器类

 [Authorize]
 public class ValuesController : ApiController
 {
     [AllowAnonymous]
     public HttpResponseMessage Get() { ... }
     public HttpResponseMessage Post() { ... }
 }

在上面的示例中,授权用户(任何已识别的用户)可以访问 post 操作方法,但 Get 操作方法不需要授权。

授权将对资源的访问权限限制为属于已被授予访问权限的用户或用户角色的用户。这[OverrideAuthorization]属性禁用[Authorization]步骤使得任何经过身份验证的用户都可以访问该操作方法。这可以从本文中的以下示例中看出。

考虑以下控制器类:

 [Authorize(Roles="Admins")]
 public class SomeController : ApiController {
     [OverrideAuthorization]
     [Authorize(Roles="Users")]
     public IEnumerable<SomeModel> Get() {...}
     public SomeModel Post() {...}
  }

在上面的示例中,用户必须经过身份验证并具有访问控制器定义的任何操作方法的原则。但是,虽然只有具有“管理员”角色的原则才能访问 Post 操作方法,但任何经过身份验证的用户角色用户都可以访问 Get 操作方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AllowAnonymous 与 OverrideAuthorizeAttribute 的相关文章

随机推荐

  • Python设置1和True的解释

    在 IPython 3 交互式 shell 中 In 53 set2 1 2 True hello In 54 len set2 Out 54 3 In 55 set2 Out 55 hello True 2 是因为 1 和 True 得到
  • 如何使用我自己的自定义表单覆盖 django-rest-auth 中的表单?

    我正在使用 django rest auth 并尝试通过覆盖表单的方法之一来修复密码重置视图中的错误 尽管我已经使用不同的 django rest auth 表单成功完成了类似的操作 但我无法让它在这个表单上工作 无论我做什么 都会使用旧的
  • 使用 AutoMapper 展开 DTO

    我一直在尝试使用 AutoMapper 来节省从 DTO 到域对象的时间 但是我在配置地图以使其正常工作时遇到了麻烦 并且我开始怀疑 AutoMapper 是否可能是错误的工具工作 考虑这个域对象的示例 一个实体和一个值 public cl
  • 即使 Excel 中存在多条记录,CopyFromRecordset 也仅复制并粘贴第一行

    我有一个包含表格数据的 Excel 工作表 strSQL SELECT S FIELD NAME1 S FIELD NAME2 S FIELD NAME3 from SourceData A1 IV6 S Dim cn as ADODB C
  • 基于 JavaScript 的 iPhone UI 框架

    我们有一个基于推送的网络应用程序 最近 我们计划为其制作一个 iPhone 应用程序 就像 Facebook 拥有 iPhone 应用程序和网站一样 我们正在寻找一个可以让我们快速前进的 UI 框架 我翻阅过PhoneGap http ww
  • 数学 - 映射数字

    如何将 a 和 b 之间的数字线性映射到 c 和 d 之间 也就是说 我希望 2 到 6 之间的数字映射到 10 到 20 之间的数字 但我需要广义的情况 我的脑子炸了 如果您的数字 X 位于 A 和 B 之间 并且您希望 Y 位于 C 和
  • PHPMailer:如何将 Content-Type 设置为 multipart/alternative

    我正在使用 phpmailer 发送电子邮件 但消息的标题中带有 Content Type text html 我怎样才能将其更改为多部分 替代 它应该类似于 mail gt 我的配置是 mail new PHPMailer mail gt
  • Hashicorp Vault 中的 SSL 证书配置

    我最近开始使用 Vault 来存储我的 api 密钥和机密 我正在尝试将其配置为使用 ssl 证书使用 HTTPS 并且我相信我已经完成了所有步骤 但是 当我尝试从浏览器启动该网址时 我会收到一个弹出窗口 要求选择证书 附图片 我不知道这里
  • If 语句中 Bool 计算错误

    只是为了好奇 我的代码有这个问题 e被评估为false 我知道通过查看数据库中的数据会得到错误 但 if 语句并不关心这一点 并假设这是真的 并试图抛出异常 有什么想法吗 edit 没有 在第 16 行末尾 价值false是正确的 我已经检
  • 使网格项跨越到隐式网格中的最后一行/列

    当我不知道行数时 是否可以使网格项跨度从第一行到最后一行 假设我有以下 HTML 内容 其中包含未知数量的框 我怎样才能做到第三个 box从第一条网格线到最后一条网格线 container display grid grid templat
  • 如何在React Material UI简单输入中启用文件上传?

    我正在创建一个简单的表单来使用带有 redux 表单和材料 ui 的 electro react boilerplate 来上传文件 问题是我不知道如何创建输入文件字段 因为材料用户界面不支持上传文件输入 关于如何实现这一目标有什么想法吗
  • 什么是内部类的合成反向引用

    我正在寻找应用程序中的内存泄漏 我正在使用的探查器告诉我寻找这些类型的引用 但我不知道我在寻找什么 有人可以解释一下吗 Thanks Elliott 您可以对 OUTER 类进行合成反向引用 但不能对内部类实例进行合成 e g class
  • Swift 3 中数组的 indexOf(_:) 方法的替换

    在我的项目 用 Swift 3 编写 中 我想使用从数组中检索元素的索引indexOf 方法 存在于 Swift 2 2 中 但我找不到任何替代方法 Swift 3 中是否有任何好的替代方法或类似的方法 Update 我忘记提及我想在自定义
  • 时间复杂度和运行时间有什么区别?

    时间复杂度和运行时间有什么区别 它们是一样的吗 运行时间是指程序运行所需的时间 时间复杂度是对输入大小趋于无穷大时运行时间渐进行为的描述 您可以说运行时间 是 O n 2 或其他什么 因为这是描述复杂性类和大 O 表示法的惯用方式 事实上
  • 如何在特定文件夹中运行 shell 命令

    我可以用这个out err exec Command git log Output 获取将在与可执行位置相同的路径中运行的命令的输出 如何指定要在哪个文件夹中运行命令 exec Command https golang org pkg os
  • 实现快速 Javascript 搜索?

    基本上 我有一个带有文本框的页面和 ul 列在其下面 这 ul 由用户的朋友列表填充 用户开始在文本框中输入朋友的名字 例如按 r 我想立即更新 ul 每次按键仅显示名字以 R 开头的朋友 例如 Richard Redmond Raheem
  • Powershell 添加的字符串类型的 ParameterizedProperty Chars 属性是什么?

    请注意 C gt Get Member MemberType eq ParameterizedProperty TypeName System String Name MemberType Definition Chars Paramete
  • Azure VM 自定义脚本扩展 SAS 令牌支持

    我正在尝试使用 ARM 模板将自定义脚本扩展部署到 Azure VM 并且希望让它使用 SAS 令牌从存储帐户下载文件 这是模板 简化 name CustomScriptExtension type Microsoft Compute vi
  • relativelayout导致动画不起作用?

    我有一个活动 其布局仅包含一个 VideoView 这是 XML
  • AllowAnonymous 与 OverrideAuthorizeAttribute

    AllowAnonymous 和 OverrideAuthorizeAttribute 的使用有什么区别 是一样的吗 http www asp net web api overview security authentication and