Spring Security 中的 @Order(SecurityProperties.ACCESS_OVERRIDE_ORDER) 与 ManagementServerProperties.ACCESS_OVERRIDE_ORDER

2024-02-28

问题1:在Spring Security中,到底有什么功能

@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)

Spring文档说明如下,但我不确定我是否理解清楚

要覆盖访问规则而不更改任何其他自动配置功能,请添加 WebSecurityConfigurerAdapter 类型的 @Bean@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER).

根据我的理解,Spring Security中各种安全功能的顺序如下(最低值,即最高优先级到最高值,即最低优先级)

  1. Ordered.HIGHEST_PRECEDENCE= -2^31-1
  2. WebSecurityConfigurerAdapter = 100 (Based on @Order(100) mentioned in Docs)
    1. Access_Override_Order = Basic_Auth_Order -2 for 安全属性
    2. Access_Override_Order = Basic_Auth_Order -1 for 管理服务器属性 Basic_Auth_Order-2= 2^31-7
  3. Basic_Auth_Order = Ordered.Lowest_Precendence -5 = 2^31-5
  4. Ordered.LOWEST_PRECEDENCE = 2^31

问题2根据上面各种安全功能的顺序,如果我想覆盖管理端点和应用程序其余部分的默认规则,我应该使用

  • 安全属性 ACCESS_OVERRIDE_ORDER 或
  • 管理服务器属性 ACCESS_OVERRIDE_ORDER ?

我目前正在使用SecurityProperties ACCESS_OVERRIDE_ORDER但根据建议here https://github.com/spring-projects/spring-boot/issues/8255为了让 ACTUATOR 工作,我需要启用ManagementServerProperties ACCESS_OVERRIDE_ORDER。如果我想让两者都工作,我应该覆盖哪一个?

Thanks.


安全属性不再定义ACCESS_OVERRIDE_ORDER@Order 注释的常量。但是,如果应用程序定义了任何安全细节,Spring Boot 不再定义任何安全细节,因此我们不需要安全 @Configuration 类上的 @Order 注释,并且可以将其删除。

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

Spring Security 中的 @Order(SecurityProperties.ACCESS_OVERRIDE_ORDER) 与 ManagementServerProperties.ACCESS_OVERRIDE_ORDER 的相关文章

随机推荐

  • emacs 不备份 git repo 中的文件

    emacs不创建文件内的备份git存储库 我希望保存它们 因为我经常依靠它们在将更改提交到git repo 我正在使用xemacs直到最近 它总是会创建通常的 第一次保存时的文件 但emacs如果在 a 内工作则不会执行此操作git项目 在
  • 从 jenkins 运行 selenium testNG 时,chrome 不会最大化

    我在跑步时遇到问题 硒测试NG 来自 jenkins 的测试 问题是我正在登录我的应用程序并检查一些元素可见性 当我直接从批处理文件运行测试时 我取得了成功 因为我将我的 google chrome 驱动程序设置为最大化使用 driver
  • 如何使用整理器按属性排序? (爪哇)

    我使用Java 我想使用 Collat or 按属性对对象的子列表进行排序 以便按字母顺序排序但忽略重音符号 问题是我尝试了不同的方法 但没有任何效果 这会对子列表进行排序 但不会忽略重音符号 newList subList 0 5 sor
  • Mapfile 作为 MapReduce 作业的输入

    我最近开始使用 Hadoop 在使用 Mapfile 作为 MapReduce 作业的输入时遇到问题 以下工作代码在 hdfs 中编写一个名为 TestMap 的简单 MapFile 其中包含三个 Text 类型的键和三个 BytesWri
  • Gradle 5 和 IntelliJ 2018.3。无法识别的选项:--add-opens 或 java.base.java.lang=ALL-UNNAMED

    我有一组由 Gradle 4 10 3 构建的复杂项目 我可以从命令行构建它们 但也可以将它们导入 IntelliJ 2018 3 Ultimate 不会出现重大问题 当我将 Gradle 升级到 5 1 1 时 项目仍然可以从控制台正常构
  • Perl Windows IPv6

    我有一个使用 TCP IP 套接字的 Perl Windows 应用程序 我需要添加 IPv6 支持 我有一台 Windows 7 64 位计算机 它运行带有 Hurricane Electric 隧道的 IPv6 它的得分为 10 分 满
  • 如何在 Github 中为 Makefile 保留选项卡

    Github 自动将制表符转换为多个空格 所以 每次我创建一个Makefile在 Github 中 我需要在我的 Linux 盒子中克隆存储库并编辑Makefile using vim进而push将更改返回到我的 Github 存储库以避免
  • 具有透明背景的 JavaFX 按钮

    我有一些经典Button在 JavaFX 中 带有一个包含一些文本的框 我需要没有那个框的按钮 只需要文本 当我悬停按钮或用鼠标单击按钮时 它会将其颜色更改为不同的颜色 在 JavaFX 中 样式是通过使用 CSS 来完成的 button
  • 使用 D3.js 在曲线类型之间转换

    我想使用 D3 js 在曲线类型之间进行转换 看一眼这个街区 https bl ocks org iaindillingham 67835c954c5e3a1fd00eed35a0b37765 数据保持不变 但曲线类型发生变化 我原以为路径
  • 将 Json 转换为 Poco 集合/如何编写 For Each?

    我对 Azure Functions 还很陌生 我创建了一个 C WebHook Azure 函数 我想这是正确的事情 来获取我的 json 内容并将其转换为简单的 poco dto 对象的集合 public static class Ge
  • 我的应用程序未显示在 Google Play 中 [已关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我大约 18 小时前将我的应用程序上传到 google play 但它没有显示 开发者控制台显示 已发布 我想应该可以在 url
  • 使用ffmpeg处理rtsp流url时出现未知命令失败

    我想使用ffmpeg从rtsp流中抓取图像 命令如下 ffmpeg y i rtsp zigong stream xl02 cn 557 HongTranSvr DevId 1b038d27 858c 46a1 b803 a2984af34
  • 关闭 I/O 流

    如果我不关闭流 可能会发生哪些不好的事情 关闭操作会自动刷新吗 程序退出后所有的流都关闭了吗 提前致谢 如果您不关闭流 可能会发生不好的事情 你可能会用完文件句柄 您认为写入磁盘的数据可能仍在缓冲区中 仅 文件可能仍被其他进程锁定 取决于平
  • 将 .jar 文件添加到 git 存储库中

    我在 eclipse 上有一个项目 最近我创建了一个名为 lib 的新文件夹 并在其中添加了一些 jar 文件 我似乎无法将更改提交到 git 它只是没有出现在文件跟踪列表中 我已经从我的分支中的 gitignore 中删除了 jar 并提
  • 温莎城堡中的多个装饰器模式

    我们正在重新设计一些遗留软件以使其更具可测试性 并决定使用依赖注入和 Castle Windsor 来帮助我们 首先 我们的目标 许多装饰器都在数据流上工作 装饰器的多种组合是可能的 并且每种情况下的根节点可能需要从不同的地方获取数据 从技
  • ExpressJS:将参数传递给html不起作用

    这是我的server js var browserify require browserify middleware var express require express var app express var path require
  • 协作环境中实体框架的迁移

    我们有多个开发人员正在开发一个使用 Entity Framework 5 0 的项目 每个开发人员都使用自己的本地 SQL 2012 数据库 这样他就可以在不妨碍其他人的情况下进行开发和测试 起初 我们混合使用自动迁移和基于代码的迁移 这根
  • 有没有办法将 Google Analytics(分析)资产转移到新帐户?

    当我最初创建 Google 分析帐户时 我将所有网站 属性 添加到一个帐户中 现在我想将它们转移到他们自己的个人帐户 但我似乎找不到任何可用此选项的地方 我可以轻松创建一个新帐户 但这似乎需要创建一个新的属性和视图 如果可能的话 我想保留
  • 保护 CRTP:私有析构函数是唯一的解决方案吗?

    如何避免 template
  • Spring Security 中的 @Order(SecurityProperties.ACCESS_OVERRIDE_ORDER) 与 ManagementServerProperties.ACCESS_OVERRIDE_ORDER

    问题1 在Spring Security中 到底有什么功能 Order SecurityProperties ACCESS OVERRIDE ORDER Spring文档说明如下 但我不确定我是否理解清楚 要覆盖访问规则而不更改任何其他自动