Dan*_*ehn 5 spring spring-security spring-boot
我正在使用带有最新稳定版本的 Spring Boot 和 Sprign Security 的 Spring Boot 应用程序。我正在使用 SAML2 对 ADFS IDP 进行身份验证。这对于所有 GET 请求都适用。现在我需要使用 PUT 和 POST,因此我想禁用 csrf。
通过这段简单的代码,我尝试禁用 csrf:
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().and().cors().disable();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,执行此操作时,完整的 SAML 身份验证会丢失,并且不会执行单点登录等操作。我通过配置使用 SAML2:
spring:
security:
saml2:
relyingparty:
registration:
DemoApp:
entity-id: urn:id:demo-app
identityprovider:
entity-id: "http://adfs.local/adfs/services/trust"
metadata-uri: "https://adfs.local/FederationMetadata/2007-06/FederationMetadata.xml"
singlesignon:
url: "https://adfs.local/adfs/ls"
sign-request: true
Run Code Online (Sandbox Code Playgroud)
如何禁用 csrf 并保持 SAML2 正常工作?
小智 12
@Configuration
@EnableWebSecurity
public class WebSecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.csrf(csrf -> csrf.disable());
return http.build();
}
}
Run Code Online (Sandbox Code Playgroud)
欲了解更多详情,请点击下面的链接
| 归档时间: |
|
| 查看次数: |
16900 次 |
| 最近记录: |