Springboot中使用springsecurity
阿新 • • 發佈:2018-09-30
cte 進行 cti 使用註解 extends nbsp 接口 配置 conf
簡單記錄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跨域問題 }
Springboot中使用springsecurity