>Java >Spring Security 역할 기반 인증 문제: 403 Forbidden 오류

Spring Security 역할 기반 인증 문제: 403 Forbidden 오류

PHPz
PHPz앞으로
2024-02-09 11:21:08720검색

Spring Security는 악의적인 공격으로부터 애플리케이션을 보호하기 위한 강력한 보안 프레임워크입니다. Spring Security를 ​​사용할 때 역할 권한 부여 문제로 인해 403 Forbidden 오류가 발생할 수 있습니다. PHP 편집자 Banana는 이 문제를 자세히 소개하고 역할 권한 부여 문제를 성공적으로 해결하는 데 도움이 되는 솔루션을 제공합니다. 초보자이든 숙련된 개발자이든 이 기사는 Spring Security의 역할 권한 부여 메커니즘을 깊이 이해하고 403 Forbidden 오류를 올바르게 처리하는 방법을 배우는 데 도움이 될 것입니다.

질문 내용

질문:

역할 기반 인증을 사용하여 스프링 기반 웹 서버를 만들려고 하는데 403 금지 오류가 계속 발생합니다. 사용자 정의 userdetails 클래스를 구현했는데 구성에 문제가 있는 것 같습니다.

코드:

사용자 정의 userdetails:

으아악

securityfilterchain 구현:

으아악

사용자 정의 userdetails 类并配置了 spring security 以进行基于角色的身份验证。但是,即使我相信角色已正确分配,我仍然遇到 403 forbidden 错误。我尝试同时使用 hasrolehasauthority 클래스를 구현하고 역할 기반 인증을 위한 스프링 보안을 구성했습니다. 그러나 역할이 올바르게 할당되었다고 생각하더라도 여전히 403 금지 오류가 발생합니다. hasrolehasauthority를 모두 사용해 보았지만 문제가 지속됩니다. 내 구성에 무엇이 빠졌나요?

어떤 통찰력이나 제안이라도 대단히 감사하겠습니다. 감사해요!

해결 방법

JWT가 있는 리소스 서버의 경우 권한은 인증 변환기에 의해 설정됩니다.

기본 인증 변환기는 JwtAuthenticarionConverter,它将权限转换委托给可配置的权限转换器(默认使用 scope 声明中的条目添加 SCOPE_ 접두사입니다.

다른 권한 변환기로 구성된 권한을 제공할 수 있습니다. JwtAuthenticationConverter (一个使用另一个声明作为权限源),或者切换到完全不同的 Converter<Jwt,?使用 <code>http.oauth2ResourceServer 扩展 AbstractAuthenticationToken>(oauth2-> oauth2.jwt(Jwt -> jwt.jwtAuthenticationConverter(...))

또한 고려할 수 있습니다 이 추가 스타터 구성 가능한 권한 변환기 애플리케이션 속성을 사용하여 유지 관리합니다(conf에서 자체 권한 또는 인증 변환기를 제공하지 않는 한)

Spring의 TRACE 로그를 열어서 문제가 있는 위치를 찾을 수 있습니다. 발생합니다. 이 제안은 직접적인 도움이 되지 않을 수도 있지만 Springboot3.0

으로 마이그레이션할 때 API가 403을 반환하는 이유를 찾는 데 도움이 되었습니다.

위 내용은 Spring Security 역할 기반 인증 문제: 403 Forbidden 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제