SpringSecurity解决跨域问题---CORS支持
程序员文章站
2024-03-19 14:44:10
...
package com.zcw.demospringsecurity.demo12;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.session.security.SpringSessionBackedSessionRegistry;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.CorsConfigurationSource;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import java.util.Arrays;
/**
* @ClassName : WebSecurityConfig
* @Description :
* @Author : Zhaocunwei
* @Date: 2020-04-12 17:18
*/
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception{
http.authorizeRequests()
.antMatchers("/admin/**")
.hasRole("ADMIN")
.antMatchers("/user/**")
.hasRole("USER")
.antMatchers("/app/**")
.permitAll()
.anyRequest()
.authenticated()
.and()
//启用CORS支持
.cors()
.and()
.formLogin();
}
@Bean
CorsConfigurationSource corsConfigurationSource(){
CorsConfiguration configuration = new CorsConfiguration();
//允许从百度站点跨域
configuration.setAllowedOrigins(Arrays.asList("https://www.baidu.com"));
//允许使用GET方法和POST方法
configuration.setAllowedMethods(Arrays.asList("GET","POST"));
//允许带凭证
configuration.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
//对所有URL生效
source.registerCorsConfiguration("/**",configuration);
return source;
}
}
推荐阅读
-
SpringSecurity解决跨域问题---CORS支持
-
通过jQuery解决AJAX跨域问题 博客分类: jQuery
-
chrome开发过程中临时解决跨域问题 博客分类: 前端技术
-
chrome开发过程中临时解决跨域问题 博客分类: 前端技术
-
跨域问题解决方案 博客分类: WEB前端 跨域httpclientjsonp
-
使用CORS实现JavaWeb跨域请求问题的方法
-
使用CORS实现JavaWeb跨域请求问题的方法
-
嵌入iframe页面中使用My97DatePicker问题解决 博客分类: bug调试记录 My97DatePicker跨域浏览器JavaScript
-
【SpringMVC】与权限拦截器冲突导致的Cors跨域设置失效问题
-
uniapp跨域问题解决方案