标签:authorize cte maven坐标 csrf apt 相关配置 解析 group 需要
简单记录springboot中使用springsecurity作为权限安全验证框架的步骤。
原理解析,连接分享。感觉写的不错记录下来
https://blog.csdn.net/code__code/article/details/53885510
首先需要引入jar包,Maven坐标如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
使用注解的方式完成配置,同原XML配置。配置内容包括哪些页面需要进行验证,需要什么权限、角色等,详细配置见springsecurity相关配置文档,此处只记录简单配置。登录页、登陆接口等见以下代码种注释。
@Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().antMatchers("/dbinfo/man","/token/settings").authenticated(). //定义哪些页面需要登陆才能访问 and(). formLogin() .loginPage("/login") //设置登陆页面 .loginProcessingUrl("/user/login") //自定义的登陆接口 .permitAll(); } }
实践种碰到的问题:
用了springsecurity后,post请求会被拦截,提示跨域问题。可以关闭默认开启的csrf拦截。 在配置类的config方法中加入:http.csrf().disable();
代码如下
@Override protected void configure(HttpSecurity http) throws Exception { // http.authorizeRequests().antMatchers("/dbinfo/man","/token/settings").authenticated(). //定义哪些页面需要登陆才能访问 // and(). // formLogin() // .loginPage("/login") //设置登陆页面 // .loginProcessingUrl("/user/login") //自定义的登陆接口 // .permitAll(); http .authorizeRequests() .antMatchers("/dbinfo/man","/token/settings","/mailconfig").authenticated() .anyRequest().permitAll() .and() .formLogin() .loginPage("/login") .permitAll() .and() .logout() .logoutSuccessUrl("/") .permitAll(); http.csrf().disable(); //POST跨域问题 }
标签:authorize cte maven坐标 csrf apt 相关配置 解析 group 需要
原文地址:https://www.cnblogs.com/falcon-fei/p/9732798.html