Spring Security學習筆記(一)
介紹
這里學習SpringSecurity,對SpringSecurity進行學習。
基本用法
添加依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
添加接口
package com.example.demo.web; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/test") public class Test { @RequestMapping("/test") public String test(){ return "test"; } }
啟動項目
可以看到日志中,已經有了密碼
訪問接口,此時已經有了登錄頁面
輸入用戶名和密碼
用戶名: user
密碼 984cccf2-ba82-468e-a404-7d32123d0f9c
此時已經登錄成功
配置用戶名和密碼
在配置文件中,進行配置
spring:
security:
user:
name: ming
password: 123456
roles: admin
輸入用戶名和密碼,可以正常登錄
基于內存的認證
需要自定義類繼承 WebSecurityConfigurerAdapter
實現(xiàn)自定義的配置
這里基于內存的配置,如下
package com.example.demo.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.password.NoOpPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; @Configuration public class MyWebSecurityConfig extends WebSecurityConfigurerAdapter { @Bean PasswordEncoder passwordEncoder(){ return NoOpPasswordEncoder.getInstance(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("admin").password("123").roles("admin"); } }
這里基于內存的配置
HttpSecurity
這里對某些方法進行攔截
package com.ming.demo.interceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; 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.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices; @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { //基于內存的用戶存儲 @Override public void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("itguang").password("123456").roles("USER").and() .withUser("admin").password("{noop}" + "123456").roles("ADMIN"); } //請求攔截 @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .anyRequest().permitAll() .and() .formLogin() .permitAll() .and() .logout() .permitAll(); } }
這里成功完成了post請求進行登錄驗證。
以上就是Spring Security學習筆記(一)的詳細內容,更多關于Spring Security的資料請關注腳本之家其它相關文章!
- 詳解springSecurity之java配置篇
- Java開發(fā)之spring security實現(xiàn)基于MongoDB的認證功能
- java中Spring Security的實例詳解
- Java中SpringSecurity密碼錯誤5次鎖定用戶的實現(xiàn)方法
- java中自定義Spring Security權限控制管理示例(實戰(zhàn)篇)
- JavaWeb開發(fā)之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基礎框架
- Spring Security+Spring Data Jpa如何進行安全管理
- Spring Security 將用戶數據存入數據庫
- Spring Security OAuth2 授權碼模式的實現(xiàn)
- Spring Security基于數據庫實現(xiàn)認證過程解析
- SpringBoot整合Spring Security的詳細教程
- 手把手帶你入門 Spring Security的具體流程
相關文章
Java lambda表達式實現(xiàn)Flink WordCount過程解析
這篇文章主要介紹了Java lambda表達式實現(xiàn)Flink WordCount過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-02-02SpringCloud Gateway自定義filter獲取body中的數據為空的問題
這篇文章主要介紹了SpringCloud Gateway自定義filter獲取body中的數據為空,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10Spring Boot Redis客戶端遠程操作實現(xiàn)過程解析
這篇文章主要介紹了Spring Boot Redis客戶端遠程操作實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04Java遍歷輸出指定目錄、樹形結構所有文件包括子目錄下的文件
這篇文章主要介紹了Java遍歷輸出指定目錄、樹形結構下的所有文件包括子目錄中的文件,需要的朋友可以參考下2015-07-07Java開發(fā)環(huán)境配置教程(win7 64bit)
這篇文章主要為大家詳細介紹了win7 64bit下Java開發(fā)環(huán)境的配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08