【发布时间】:2021-01-27 05:09:17
【问题描述】:
我正在尝试使用具有硬编码密码的单个用户设置一个简单的 Spring Boot 应用程序,该应用程序通过 HTTP 基本身份验证进行保护。
到目前为止,我使用基于 XML 的配置使其工作。
如何使用基于 Java 的配置实现相同的结果?
-
SecurityConfig.java
@EnableWebSecurity @ImportResource("classpath:spring-security.xml") public class SecurityConfig {} -
spring-security.xml
<?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd"> <http> <intercept-url pattern="/MyService/**" access="isAuthenticated()" /> <http-basic /> </http> <user-service> <user name="foo" password="{noop}bar" authorities="ROLE_USER" /> </user-service> </beans:beans>
注意:我必须使用@EnableWebSecurity 而不是@Configuration 来解决Spring Boot Issue #10236。
我正在使用 Spring Boot 2.3.4 和 Spring Security 5.3.4。
【问题讨论】:
标签: java spring spring-boot spring-security basic-authentication