我们最近从 Spring Boot 1.4.1 升级到 1.5.2。 1.5.2 的特性之一是,如果 Spring Security 是包的一部分,那么它会受到基本身份验证的保护。即使在基本身份验证之后,我也无法访问 /h2-console
。它抛出 403 禁止。
application.yml
:
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:file:../app-db/app_db;AUTO_SERVER=TRUE
username: sa
password: sa
initialize: false
jpa:
hibernate:
ddl-auto: validate
show-sql: true
database-platform: org.hibernate.dialect.H2Dialect
h2:
console:
enabled: true
settings:
web-allow-others: true
allowed:
resources: /h2-console/**
我什至明确允许 /h2-console/**
httpSecurity.authorizeRequests()
.antMatchers(allowedResources)
.permitAll()
尝试访问时,我不断收到 403 localhost:8080/h2-console
。我尝试了许多设置以及放置:
management.security.enabled=true
security.basic.enabled=true
但我无法访问 h2 控制台。
原文由 Tuhin Kanti Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议
我启用了调试日志并看到了这个:
我意识到我的用户没有
ROLE_USER
。我假设ROLE_ADMIN
>ROLE_USER
但我仍然需要更好地理解这一点。我将设置更新为:
我现在可以访问
/h2-console/**
。