问题标签 [spring-boot-starter-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - 在不使用 Spring Security OAuth 的情况下实现 oauth2 授权服务器
我的要求是使用 spring boot 实现 oauth 2。
它用于将动态客户端注册(客户端 ID、客户端密码……)存储在数据库中,而不是存储在内存中。
我看到的第一个选项是使用 spring-security-oauth2。但根据文档
https://spring.io/projects/spring-security-oauth。
它说 Spring Security OAuth 已被弃用,最新的 OAuth 2.0 支持由 Spring Security 提供。
不推荐使用 Spring Security OAuth 我不会将它用于我当前的实现。
现在我现在的选择是从 Spring Security 中使用它。Bu 根据文档https://github.com/spring-projects/spring-security/wiki/OAuth-2.0-Migration-Guide 它说 Spring Security 不提供授权服务器支持。
现在,我很困惑,要么使用已弃用的 Spring Security OAuth,要么等待 Spring Security 提供授权服务器支持。我想听听专家的建议。有没有没有 Spring Security OAuth 的教程来实现它?
spring - 将上下文路径更改为索引页面,但显示状态 404
我对这篇文章有一个类似的问题,我通过添加上下文路径获得状态 404 而不是索引页面。我怀疑我做错了什么,比如把它@EnableWebSecurity
放在 WebSecurityConfig 文件或控制器中。
这是spring-boot配置
这是运行应用程序的主要类
这是控制器类
spring - 为什么要以不同方式处理 AccessDeniedException 和 AuthenticationException
我使用 Spring Boot 2 和 Spring Security 5 创建了一个演示应用程序。源代码位于此处。
它提供了两种端点——HTML 网页和 REST api。因此,WebSecurityConfigurerAdapter
引入以下两个子类:
三种情况会导致 REST api 调用的身份验证和授权失败:
- 没有为受保护端点提供凭据
- 提供了错误的凭据
- 提供了错误角色的正确凭据
结果显示org.springframework.security.access.AccessDeniedException
case 1 和 3org.springframework.security.authentication.BadCredentialsException
上升,case 2 上升,三种情况的返回值分别为:
- 带有 HTTP 状态 401 的 json 错误消息
- 重定向到 /login 端点的 HTTP 状态 302 返回
- 带有 HTTP 状态 403 的 json 错误消息
对于案例 2,该现象已在我的另一个问题中进行了解释。通常,这是因为默认错误端点会处理异常/error
,并且在 Spring Boot 2 中,端点也受到保护,因此需要登录(详细信息 - Spring security 5 “Bad credentials”异常未与 errorDetails 一起显示)。
进一步的问题是为什么案例 1 和案例 3 不是由相同的机制处理?为什么默认错误处理程序不处理AccessDeniedException
with/error
端点?
spring-security-oauth2 - 在类路径资源中定义名称为“springSecurityFilterChain”的 bean 创建错误
我是 Spring Security 的新手。我正在使用 okta OIDC 应用程序来保护我的资源服务器。
我有以下 application.yml
我有以下安全配置:
添加上述代码后,我收到以下错误:
此外,如何动态验证用户和密码,而无需在“InMemoryAuthentication”中对上述值进行硬编码。例如:我创建了几个人,并根据我在 Okta 中的要求将他们添加到用户和管理员组中,将用户和管理员组添加到我的 OIDC SPA 应用程序中。
在这种情况下,具有特定用户或管理员角色的用户将登录,在用户角色的情况下,我需要捕获并限制对少数 API 的访问。如何配置上述代码以动态验证登录用户?
spring-security - 后端 Spring 安全性中未处理 JWT 令牌
首先,我正在尝试学习 Spring 安全性,可能我的问题很幼稚。我正在尝试将 JWT 令牌从反应 UI 发送到后端 Spring Boot 安全性,但它不起作用。但是,我可以在邮递员中进行相同的测试,并且效果很好。我有以下文件 -
身份验证入口点
当我尝试与前端通信时,我在控制台上收到以下错误,但在前端没有消息。日志
用户被自动指定为匿名用户。我无法调试它,因为控件永远不会出现在 runImport() 方法中。有人可以指出我的代码中缺少什么吗?
reactjs - 无法通过 Reactjs 在 Springboot Security 中进行身份验证
我目前正在使用 Springboot 在后端构建一个应用程序,在前端使用 Reactjs。springboot 的安全功能非常好。后端在 http://localhost:8080/ 上运行,Reactjs(前端)在 http://localhost:3000/ 上运行。如何在我的 Reactjs 登录页面上获取默认的 springboot 登录页面。
这是我的 SecurityConfiguration 类
对于其他不受保护的 URL,我可以在我的 React 应用程序上毫无问题地访问它。但是当我使用 Axios 在 Reactjs 中调用例如 http://localhost:8080/test2/ 时,我得到一个 403 错误(禁止访问)。但是在浏览器上,当我调用相同的 url 时,我可以验证自己并访问所需的资源。因此,总结这两个应用程序完美运行,但它们之间没有任何联系。
spring-boot - spring boot starter security 不在日志中生成默认密码
运行 spring boot 应用程序后,默认密码不会在日志中生成。请找到以下日志:-
POM.XML
org.springframework.boot spring-boot-starter
以上详细信息适用于添加到 pom XML 的依赖项。有谁知道为什么它没有在日志中生成默认密码?
spring-security - 如何在同一个应用程序中配置 OAuth2ResourceServer 和 OAuth2Client?
我的应用程序由一个 Angular UI 和一个 Spring 后端组成。两者捆绑在一起并部署在同一台服务器上。我是 Spring Security/Oauth2 的新手,我觉得它很混乱。我想公开一些可以从 UI 或 Postman/Swagger 使用的 API。我已经为此成功配置了 Spring security 5 的 OAuth2ResourceServer,它工作得非常好。当我使用不记名令牌调用 API 时,它按预期工作。
现在,当从 UI 进行 API 调用时,我还必须进行相同的配置。这非常令人困惑。我试图创建一个单独的 http 配置,如下所示;
我真的不知道如何进行。我已经clientid, clientSecret, authorization-grant-type, redirect-uri, scope, authorization-uri, token-uri
在 application.properties 文件中进行了配置。期望是通过集中登录页面提示用户,并以某种方式将 grant_code 交换为访问令牌 (jwt)。来自 UI 的所有请求都必须在其标头中包含此令牌才能访问我在上面描述的 API(资源服务器配置)。同样,我对将令牌存储在标头或 cookie 中感到困惑。
如果我不清楚,请道歉。我对 OAuth2 的理解非常基本,我正在尝试通读文档页面,这对我来说毫无意义。
spring - 如何配置 spring-boot-starter-security
我如何根据自己的需要配置 spring-boot-starter-security?
(我在 kotlin 中使用 spring)
我的意思是,我有这个配置文件,但似乎 spring 容器只是忽略了。
总是将我重定向到 /login。
并且文件位置与app.kt处于同一级别
java - 无法使用 401 访问 Spring Security 中的页面
我正在尝试使用具有普通用户和管理员功能的基本弹簧安全性。我正在关注这篇文章。但我一直收到 401 unauthorize 错误,我尝试使用邮递员和 curl 命令但没有帮助。
下面是我的弹簧配置文件。
下面是我的 pom.xml