java - 如何禁用默认的 Spring OAuth2 REST API?
问题描述
我们使用以下版本的 spring-security-oauth2:
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.0.11.RELEASE</version>
</dependency>
启用授权服务器并对其进行配置时,框架会启用默认 API,例如“/oauth/check_token”或“/oauth/token_key”。
我不使用这些 API(“oauth/token”除外)并希望禁用它们以防止误用。目前,我正在覆盖这些 url 的映射作为解决方法。我尝试在组件扫描中使用排除过滤器,但没有效果。有没有更方便的方法来禁用这些 API?
解决方案
根据 Maven 文档:
当无法(无论出于何种原因)将项目拆分为子模块时,将使用可选依赖项。这个想法是,某些依赖项仅用于项目中的某些功能,如果不使用该功能,则不需要。理想情况下,此类功能将被拆分为依赖于核心功能项目的子模块。这个新的子项目将只有非可选的依赖项,因为如果您决定使用子项目的功能,您将需要它们。
然而,由于项目不能被拆分(同样,无论出于何种原因),这些依赖项被声明为可选的。如果用户想要使用与可选依赖项相关的功能,他们必须在自己的项目中重新声明该可选依赖项。这不是处理这种情况的最清晰方法,但可选依赖项和依赖项排除都是权宜之计。
要使用可选依赖项,您必须使用工件中的标记
推荐阅读
- c# - 为什么我不能使用 HttpClient 进行来自 ASP.Net 的同步调用?
- c# - 使用 Entity Framework Core 随着时间的推移管理数据库的规范化
- javascript - 获取单击的选择元素的索引
- reactjs - 添加 Service Worker 以创建 React App 项目
- python-3.x - 查找不在列表中的项目:Python
- python-3.x - Python List 没有在 Quotes 中给出输出
- forms - 如何制作一个猜测结果的引导表单?
- sql-server - 按日期获取状态计数,但仅计算连续行
- python - 在 Apache + mod_wsgi 下为烧瓶启用错误日志记录到浏览器
- java - 使用Java对数据结构中的“点”分隔的字符串值列表进行排序