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

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

SpringSecurity如何實現配置單個HttpSecurity

瀏覽:138日期:2023-08-21 09:35:05

一、創建項目并導入依賴

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

二、相關配置和代碼

在創建完項目時,我們得springboot項目所有接口都被保護起來了,如果要想訪問必須登陸,用戶名默認是user,密碼在項目啟動時生成在控制臺。

1)我們可以設置自己得賬戶和密碼,有兩種方法配置

1.1)在application.properties中配置

spring.security.user.name=fernfei

spring.security.user.password=fernfei

spring.security.user.roles=admin

1.2)在配置類中配置

注:需要在配置類上加上@configuration注解

步驟1.2.1)

創建SecurityConfig繼承WebSecurityConfigurerAdpater

步驟1.2.2)

實現WebSecurityConfigurerAdpater中的configure(AuthenticationManagerBuilder auth)方法

步驟1.2.3)

從 Spring5 開始,強制要求密碼要加密,如果非不想加密,可 以使用一個過期的 PasswordEncoder 的實例

NoOpPasswordEncoder,但是不建議這么做,畢竟不安全。

SpringSecurity如何實現配置單個HttpSecurity

這樣就算完成自己定義賬戶密碼了。

2)HttpSecurity配置

2.1)實現config(HttpSecurity http)方法

2.2)相關代碼

@Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().antMatchers('/admin/**').hasRole('admin').antMatchers('/db/**').hasAnyRole('admin','user').antMatchers('/user/**').access('hasAnyRole(’admin’,’user’)')//剩下的其他路徑請求驗證之后就可以訪問.anyRequest().authenticated().and().formLogin().loginProcessingUrl('/dologin').loginPage('/login').usernameParameter('uname').passwordParameter('pwd').successHandler(new AuthenticationSuccessHandler() { @Override public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { response.setContentType('application/json;charset=utf-8'); PrintWriter pw = response.getWriter(); Map<String, Object> map = new HashMap<String, Object>(); map.put('status', 200); map.put('msg', authentication.getPrincipal()); pw.write(new ObjectMapper().writeValueAsString(map)); pw.flush(); pw.close(); }}).failureHandler(new AuthenticationFailureHandler() { @Override public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException { response.setContentType('application/json;charset=utf-8'); PrintWriter pw = response.getWriter(); Map<String, Object> map = new HashMap<String, Object>(); map.put('status', 401); if (exception instanceof LockedException) { map.put('msg', '賬戶被鎖定,登陸失敗!'); } else if (exception instanceof BadCredentialsException) { map.put('msg', '賬戶或者密碼錯誤,登陸失敗!'); } else if (exception instanceof DisabledException) { map.put('msg', '賬戶被禁用,登陸失敗!'); } else if (exception instanceof AccountExpiredException) { map.put('msg', '賬戶已過期,登陸失敗!'); } else if (exception instanceof CredentialsExpiredException) { map.put('msg', '密碼已過期,登陸失敗!'); } else { map.put('msg', '登陸失敗!'); } pw.write(new ObjectMapper().writeValueAsString(map)); pw.flush(); pw.close(); }}).permitAll().and().csrf().disable(); }

2.3)代碼解釋

2.3.1)/admin/**路徑下的必須有admin角色才能訪問

.antMatchers('/admin/**').hasRole('admin')

2.3.2)/db/**和/user/**下的路徑,admin和user角色都可以訪問

.antMatchers('/db/**').hasAnyRole('admin','user')

.antMatchers('/user/**').access('hasAnyRole(’admin’,’user’)')

2.3.3)表示剩下的任何請求只要驗證之后都可以訪問

.anyRequest().authenticated()

2.3.4)開啟表單登陸

.formLogin()

2.3.5)登陸處理的路徑

.loginProcessingUrl('/dologin')

2.3.6)登陸的頁面,如果不寫會使用默認的登陸頁面

.loginPage('/login')

2.3.7)定義登錄時,用戶名的 key,默認為 username

.usernameParameter('uname')

2.3.7)定義登錄時,用戶名的 key,默認為 password

.passwordParameter('pwd')

2.3.8)登陸成功的處理(用于前后端分離時,直接返回json

.successHandler()

紅框里面的類是存放登陸成功后的用戶信息

SpringSecurity如何實現配置單個HttpSecurity

2.3.9)下圖就是登陸成功后直接返回url的方法

SpringSecurity如何實現配置單個HttpSecurity

2.3.10)同上,登陸失敗的處理

.failureHandler()

判斷屬于哪個異常可以更友好給用戶作出提示

可以進入這個類按Ctrl+H查看類的繼承關系,方便更好使用

SpringSecurity如何實現配置單個HttpSecurity

SpringSecurity如何實現配置單個HttpSecurity

2.3.11)permitALL()表示放開和登陸有關的接口,csrf是關閉csrf,以便我們在 postman類似的軟件測試被系統給攔截了

.permitAll()

.and()

.csrf().disable();

3)controller層設置一些接口以便我們測試

SpringSecurity如何實現配置單個HttpSecurity

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久av免费看| 久久三级福利| 国精品一区二区| 欧美国产91| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久av一区| 日韩avvvv在线播放| 一本一道久久a久久| 日韩精品五月天| 久久91视频| 欧美日韩在线网站| 在线看片日韩| 麻豆精品一区二区综合av| zzzwww在线看片免费| 日韩欧美另类一区二区| 麻豆精品91| 精品一区视频| 好看的亚洲午夜视频在线| 日韩精品久久理论片| 丁香婷婷久久| 久热re这里精品视频在线6| 国产精品亚洲人成在99www| 亚洲少妇自拍| 久久福利在线| 宅男在线一区| 青青伊人久久| 国模 一区 二区 三区| 91麻豆精品| 亚洲伦乱视频| 亚洲毛片一区| 亚洲伊人av| 日韩中文字幕一区二区三区| 久久av导航| 久久不射中文字幕| 久久一区精品| 久热综合在线亚洲精品| 国际精品欧美精品| 99精品国产一区二区三区| 日本精品一区二区三区在线观看视频| 国产精品白丝久久av网站| 亚洲福利精品| 久久亚州av| 免费看精品久久片| 精品国产a一区二区三区v免费| 国产精品日本| 精品国产精品国产偷麻豆| 蜜臀久久99精品久久久画质超高清 | 色乱码一区二区三区网站| 中文亚洲欧美| 日韩啪啪电影网| 91精品国产自产观看在线| 久久裸体视频| 久久a爱视频| 亚洲a成人v| 在线国产一区二区| 精品国产乱码| 国产精品激情| 亚洲ww精品| 欧美日韩国产传媒| 日本一区二区高清不卡| 国产欧美日韩一区二区三区四区| 好看不卡的中文字幕| 免费在线成人| 91亚洲精品视频在线观看 | 欧美成人基地| 国产一区二区三区探花| 日韩不卡在线观看日韩不卡视频| 国产一区日韩欧美| а√天堂8资源在线| 久久99免费视频| 青青草国产精品亚洲专区无| 国产农村妇女精品一二区| 成人污污视频| 91精品日本| 伊人国产精品| 狠狠色综合网| 91精品啪在线观看国产18| 天海翼精品一区二区三区| 亚洲制服少妇| 午夜久久99| 在线一区欧美| 9国产精品视频| 亚洲激情av| 亚洲综合欧美| 首页国产欧美日韩丝袜| 久久高清一区| 亚洲日韩视频| 日韩精品国产精品| 日本视频一区二区| 日本视频一区二区| 91九色综合| 另类小说一区二区三区| 欧美1区2区3| аⅴ资源天堂资源库在线| 中文字幕成在线观看| 久久青青视频| 国产99亚洲| 黄色在线一区| 蜜臀91精品一区二区三区| 亚洲日本欧美| 久久精品99国产精品| 国产日韩欧美| 国产在线一区不卡| 91精品国产乱码久久久久久久| 久久久影院免费| 免费精品国产| 国产成人77亚洲精品www| 国产精品久久久久久久久久10秀| 国产传媒av在线| 欧美亚洲国产激情| 伊人久久成人| 亚洲综合中文| 国产探花一区| 激情久久一区二区| 在线成人动漫av| 久久亚洲一区| 欧美aⅴ一区二区三区视频| 超碰成人av| 欧美羞羞视频| 亚洲一级高清| 丝袜美腿一区二区三区| 欧美日韩伊人| 精品成av人一区二区三区| 亚洲国产综合在线看不卡| 日韩一区欧美二区| 欧美a级一区二区| 久久视频国产| 日韩高清一区在线| 日韩av免费| 日韩精选在线| 免费在线小视频| 亚洲狼人精品一区二区三区| 国产日韩亚洲欧美精品| 日韩成人亚洲| 日韩av中文在线观看| 亚洲综合电影| 日韩欧美在线精品| 97精品一区| 亚洲久久在线| 久久国产免费| 91精品日本| 免费观看不卡av| 国产精品久久久久久久久久久久久久久| 91精品韩国| 欧美日韩1区| 久久精品高清| 国产精品国码视频| 夜久久久久久| 色欧美自拍视频| 免费日韩视频| 成人在线视频中文字幕| 免费日韩av片| 岛国av在线网站| 深夜日韩欧美| 欧美成人久久| 国产一区调教| 日韩 欧美一区二区三区| 99精品电影| 精品亚洲a∨一区二区三区18| 亚洲激情国产| 在线看片福利| 国产欧美一区二区精品久久久| 久久在线免费| 高清一区二区三区| 国产亚洲精品美女久久久久久久久久| 日韩欧美综合| 久久三级毛片| 国产精品亲子伦av一区二区三区| 黄色日韩在线| 久久久精品久久久久久96| 久久99精品久久久野外观看| 亚洲精品在线a| 天堂va蜜桃一区二区三区| 99精品视频在线| 激情综合五月| 国产高清亚洲| 久久国产三级精品| 亚洲中字黄色| 在线日韩电影| 韩国精品主播一区二区在线观看| 日本免费在线视频不卡一不卡二| 国产免费成人| 日韩一区二区免费看| 欧美日韩色图| 999精品一区| 播放一区二区| 五月激情久久| 9999国产精品| 亚洲三级欧美| xxxxx性欧美特大| 精品美女在线视频| 久久av免费| 国产精品99精品一区二区三区∴| 日本成人精品| 日韩精品免费观看视频| 巨乳诱惑日韩免费av| 久久99伊人| 蜜桃视频一区二区| 免费视频一区二区| 一本综合精品|