日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

淺談spring security入門

瀏覽:88日期:2023-08-28 13:09:58

一 介紹

本節給知識追尋者給大家帶來的是springSecurity入門篇,主要是簡述下springSecrurity的啟動原理和簡單的入門搭建;

二 核心模塊介紹

spring-security-core ; 包含核心身份驗證和access-contol類和接口,遠程支持和基本配置AP; spring-security-web: web , url登陸驗證和訪問控制; spring-security-config: 支持xml 或者java注解配置;

當然其模塊遠不止這些,比如CAS,ALC,Aspects,OpenI等等,對于入門我們了解核心即可;

三 入門搭建

3.1 依賴

springboot 2.3.0

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>

3.2 控制層

控制層定義一個接口,用于瀏覽器請求,請求成功后會返回 hello zszxz ;

@GetMapping('hello') public String hello() { return 'hello zszxz'; }

3.3 訪問登陸頁

啟動項目

訪問 localhost:8080/hello 會自動跳轉至localhost:8080/login

淺談spring security入門

可以看到 接口就被保護起來了,訪問接口需要進行賬號密碼登陸;那么賬號密碼在哪里?看tiao控制臺打印的日志

如下所示,一串uuid就是登陸密碼;賬號是 user;賬號,密碼輸入后就會跳轉至 localhost:8080/hello ;

.UserDetailsServiceAutoConfiguration :

Using generated security password: 8f5b8238-9b35-482f-b2a5-bf440af5271b

3.4 登陸原理解析

由日志打印可以看出 是在 UserDetailsServiceAutoConfiguration 類中發現的密碼;我們點擊該類發現有個

inMemoryUserDetailsManager 方法 里面有 properties.getUser(); 即獲取用戶,說明用戶信息來自 SecurityProperties ;

@Lazy public InMemoryUserDetailsManager inMemoryUserDetailsManager(SecurityProperties properties, ObjectProvider<PasswordEncoder> passwordEncoder) { User user = properties.getUser(); List<String> roles = user.getRoles(); return new InMemoryUserDetailsManager(new UserDetails[]{org.springframework.security.core.userdetails.User.withUsername(user.getName()).password(this.getOrDeducePassword(user, (PasswordEncoder)passwordEncoder.getIfAvailable())).roles(StringUtils.toStringArray(roles)).build()}); }

點擊 SecurityProperties 類其有個內部靜態類User, 如下所示,賬號就是user, 密碼就是UUID; roles是個ArrayList;配置文件的前綴 “spring.security”

@ConfigurationProperties( prefix = 'spring.security')public class SecurityProperties {// 此處省略.........public static class User { private String name = 'user'; private String password = UUID.randomUUID().toString(); private List<String> roles = new ArrayList(); private boolean passwordGenerated = true;// 此處省略.........

現在我們通過配置文件的方式改變賬號密碼,在application.yml配置賬號密碼如下

spring: security: user: password: zszxz name: zszxz

重啟服務,訪問http://localhost:8080/login 此時 的填入的表單賬號密碼就是zszxz; 而且發現 控制臺不再打印出uuid ;

3.5 springSecurity基本原理

仔細檢測日志信息, 可以發現springSecurity模塊的日志打印信息如下,其實現原理就是通過一串的Servlet過濾器進行基本實現,最后一個是FilterSecurityInterceptor 攔截器;

[org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@248deced, org.springframework.security.web.context.SecurityContextPersistenceFilter@677b8e13, org.springframework.security.web.header.HeaderWriterFilter@30331109, org.springframework.security.web.csrf.CsrfFilter@1bbae752, org.springframework.security.web.authentication.logout.LogoutFilter@64030b91, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@78faea5f,............... .intercept.FilterSecurityInterceptor@2b4c3c29

來自官網的圖片如下;FilterChain 中包含了 Filter 和 Servlet , 其能夠很快速的處理所有的URL請求; 當然每個具體的Filter 功能都不同,以后可能提到,有興趣的讀者也可以參照官網學習;

淺談spring security入門

比較重要的Filter

UsernamePasswordAuthenticationFilter DigestAuthenticationFilter BasicAuthenticationFilter ExceptionTranslationFilter FilterSecurityInterceptor

四 加密方式

官網有列出 基于 withDefaultPasswordEncoder 方式 創建 用戶,這樣并不是很推薦,原因是其賬號密碼會暴露在內存和編譯的源碼中,并不是很安全,如果要用于生產環境還需要對密碼進行一次hash或者加密;

UserBuilder users = User.withDefaultPasswordEncoder();User user = users .username('user') .password('password') .roles('USER') .build();User admin = users .username('admin') .password('password') .roles('USER','ADMIN') .build();

官方提供了好多種其它方式進行加密:

DelegatingPasswordEncoder BCryptPasswordEncoder Argon2PasswordEncoder Pbkdf2PasswordEncoder SCryptPasswordEncoder

它們的使用方式都差不多,示例如下,在使用時替換對應的加密對象即可;

SCryptPasswordEncoder encoder = new SCryptPasswordEncoder();String result = encoder.encode('myPassword');assertTrue(encoder.matches('myPassword', result));

五 參考文檔

https://docs.spring.io/spring-security/site/docs/5.3.3.BUILD-SNAPSHOT/reference/html5/

到此這篇關于淺談spring security入門 的文章就介紹到這了,更多相關spring security入門 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美亚洲一区二区三区| 亚洲免费影视| 日韩高清在线观看一区二区| 先锋影音久久久| 亚洲一区二区免费在线观看| 日韩一级网站| 一区二区91| 日本色综合中文字幕| 日韩av网站在线免费观看| 亚洲日韩中文字幕一区| 婷婷视频一区二区三区| 欧美91精品| 久久亚洲美女| 欧美日韩一视频区二区| 久久三级毛片| 亚洲精品一区三区三区在线观看| 天堂av在线一区| 精品国产午夜肉伦伦影院| 欧美中文一区二区| 日本午夜精品视频在线观看| 国产成人精品一区二区免费看京 | 91精品亚洲| 午夜久久福利| 在线一区视频观看| 欧美黄页在线免费观看| 午夜亚洲一区| 欧美精品一线| 亚洲欧美日韩综合国产aⅴ| 好吊日精品视频| 国产99久久| 日韩午夜黄色| 国产亚洲亚洲| 久久亚洲精品伦理| 日韩av成人高清| 国产日本久久| 精品亚洲精品| 97精品国产一区二区三区| 久久久男人天堂| 最新日韩av| 国产一级成人av| 日本不卡高清| 性色一区二区| 亚洲一区二区免费看| 免费污视频在线一区| 欧美精品不卡| 国产三级一区| 日本不卡中文字幕| 亚洲欧美日韩专区| 黄色亚洲免费| 精品日韩毛片| 欧美手机在线| 不卡中文一二三区| 久久国产88| 97精品在线| 97在线精品| 久久久水蜜桃av免费网站| 日韩天堂在线| 亚洲激情av| 蜜桃91丨九色丨蝌蚪91桃色| 蜜桃视频一区二区三区| 影音先锋久久精品| 日本精品另类| 国产精品一二| 福利片在线一区二区| 日韩在线观看| 免费人成在线不卡| 国产精品丝袜在线播放| 大香伊人久久精品一区二区 | 国产精品日本| 亚洲三级国产| 欧美国产视频| 亚洲一级二级| 久久国产尿小便嘘嘘| 在线天堂资源www在线污| 一本大道色婷婷在线| 免费人成精品欧美精品| 国产精品2023| 欧美日韩色图| 国产亚洲高清一区| 人人精品亚洲| 欧美一区二区三区久久精品| 国产日韩欧美中文在线| 神马午夜久久| 国产欧美一区二区三区国产幕精品 | 国产一区二区三区国产精品 | 亚洲一级大片| 欧美精品羞羞答答| 国产探花在线精品一区二区| 日韩欧美视频专区| 奇米色欧美一区二区三区| 精品精品久久| 日本午夜精品一区二区三区电影 | 伊人久久亚洲美女图片| 日韩大片在线| 欧美国产不卡| 日韩中文字幕在线一区| 午夜久久黄色| 久久精品播放| 色偷偷色偷偷色偷偷在线视频| 国产三级一区| 日韩va欧美va亚洲va久久| 欧美日韩视频免费观看| 香蕉久久99| 国产综合色区在线观看| 日韩av不卡在线观看| 水野朝阳av一区二区三区| 久久精品国产www456c0m| 三级精品视频| 精品日韩在线| 国产精品99精品一区二区三区∴ | 精品久久99| 国产精品中文字幕制服诱惑| 不卡中文字幕| 激情久久婷婷| 激情丁香综合| 男女激情视频一区| 亚洲欧洲国产精品一区| 在线精品观看| 日韩一区二区三区在线看| aa亚洲婷婷| 日韩精品一页| 国产乱码精品一区二区三区四区| 日韩高清一区| 国产精品xxx| 欧美国产精品| 成人国产精品一区二区免费麻豆| 麻豆高清免费国产一区| 国产精品一区二区av交换| 久久99精品久久久野外观看| 久久字幕精品一区| 99热精品久久| 亚洲资源网站| 久久精品国产99国产精品| 日韩在线二区| 蜜桃久久精品一区二区| 国产麻豆一区二区三区精品视频| 国产精品99一区二区三| 9久re热视频在线精品| 国产日产精品_国产精品毛片 | 亚洲精品电影| 国产视频一区免费看| 国产欧美一区二区三区精品观看| 色黄视频在线观看| 天堂俺去俺来也www久久婷婷| 欧美精品aa| 国产高清一区二区| 欧美黄页在线免费观看| 激情欧美一区二区三区| 亚洲精品无吗| 欧美日韩尤物久久| 国产精品成人**免费视频 | 亚洲激情精品| 黑森林国产精品av| 日韩一区二区三区高清在线观看| 国产成人精品一区二区免费看京| 亚洲69av| 亚洲作爱视频| 日韩综合一区| 日韩福利在线观看| 夜夜精品视频| 久久久人人人| 日韩av二区| 国产精品久久| 免费看欧美美女黄的网站| 91精品在线观看国产| 97人人精品| caoporn视频在线| 国产精品videossex| 亚欧成人精品| 老牛影视一区二区三区| 99成人在线视频| 99热精品久久| 久久精品123| 国产成人精品三级高清久久91 | 欧美综合精品| 一区视频在线| 亚洲成人二区| av亚洲免费| 日韩天堂av| 日韩精品一区二区三区免费视频 | 欧美午夜三级| 欧美精品福利| 另类综合日韩欧美亚洲| av综合电影网站| 欧美日韩免费观看一区=区三区| 久久亚洲电影| 久久99久久人婷婷精品综合| 国产福利片在线观看| 桃色一区二区| 亚洲五月综合| 欧美交a欧美精品喷水| 免费看av不卡| 野花国产精品入口| 国产亚洲电影| 激情欧美一区| 日本99精品| 国语精品一区| 中文字幕亚洲在线观看| 国产精品对白| 日韩一级欧洲|