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

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

Spring Security基于json登錄實現過程詳解

瀏覽:129日期:2023-08-21 10:31:23

主要是重寫attemptAuthentication方法

導入依賴

<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>

相關配置和代碼

application.properties配置密碼

spring.security.user.name=adminspring.security.user.password=123

創建自定義身份過濾類

寫json登錄之前先看一下源碼,了解一下它是如何表單登錄的

在idea連按下shift鍵,搜索UsernamePasswordAuthenticationFilter類

Spring Security基于json登錄實現過程詳解

進入后再按Ctrl+F12可以查看該類的所有方法

Spring Security基于json登錄實現過程詳解

進入方法

Spring Security基于json登錄實現過程詳解

我們只需要在request.getParameter()那里重寫一下不就可以實現json登陸

重寫attemptAuthentication(HttpServletRequestrequest,HttpServletResponseresponse)方法

只需要復制父類的方法,多加一個判斷json的方法。就能同時支持key-value形式可json形式的參數了

Spring Security基于json登錄實現過程詳解

public class MyAuthenticationFilter extends UsernamePasswordAuthenticationFilter { @Override public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException { if(!request.getMethod().equals('POST')){ throw new AuthenticationServiceException('Authentication method not supported' + request.getMethod()); } //說明是以json的形式傳遞參數 if (request.getContentType().equals(MediaType.APPLICATION_JSON_VALUE)) { String username = null; String password = null; //將傳入的json數據轉換成map再通過get('key')獲得 try {Map<String,String> map =new ObjectMapper().readValue(request.getInputStream(), Map.class);username = map.get('username');password = map.get('password'); } catch (IOException e) {e.printStackTrace(); } if (username == null) { } if (password == null) { } username = username.trim(); UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(username, password); setDetails(request, authRequest); return this.getAuthenticationManager().authenticate(authRequest); } return super.attemptAuthentication(request, response); }}

創建SecurityConfig配置類

Spring Security基于json登錄實現過程詳解

注:自定義的過濾類和security原來那個表單登陸過濾設置是分開的

體現在filter.setFilterProcessesUrl()和loginProcessingUrl

因此表單登陸和json登陸的,successHandler判斷也要分開寫,

一會下面有效果圖也可以印證這一點

@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().anyRequest().authenticated().and().formLogin().loginProcessingUrl('/doLogin').permitAll().and().csrf().disable(); //將自定義的過濾器加進來,第二參數表示加到usernamePasswordAuthenticationFilter所在的位置 http.addFilterAt(myAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class); } @Bean MyAuthenticationFilter myAuthenticationFilter() throws Exception{ MyAuthenticationFilter filter = new MyAuthenticationFilter(); filter.setAuthenticationManager(authenticationManagerBean()); return filter; }}

創建Controller

@RestControllerpublic class HelloController { @GetMapping('/hello') public String hello(){ return 'hello security'; }}

Spring Security基于json登錄實現過程詳解

Spring Security基于json登錄實現過程詳解

Spring Security基于json登錄實現過程詳解

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

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美亚洲国产一区| 视频一区二区不卡| 国产精品久久久久9999高清 | 欧美男人天堂| 日韩国产一区| 成年男女免费视频网站不卡| 中文字幕成在线观看| 黄色av日韩| 久久国产三级| 91亚洲国产成人久久精品| 在线综合欧美| 国产精品久久乐| 日韩中文影院| 日韩专区欧美专区| sm捆绑调教国产免费网站在线观看| 欧美在线亚洲综合一区| 国产日产高清欧美一区二区三区 | 日本在线一区二区三区| 久久超碰99| 伊人成人在线视频| 精品视频国内| 天堂成人免费av电影一区| 国产精品自在| 亚洲综合欧美| 桃色一区二区| 国产精品一区二区三区av麻 | 国产成人精品一区二区三区免费 | 黑丝一区二区三区| 成人午夜亚洲| 久久一区视频| 久久亚洲人体| 国模大尺度视频一区二区| 久久爱www.| 久久av国产紧身裤| 国产精品久久久久蜜臀| 日韩电影在线视频| 成人在线视频区| 尤物在线精品| 97精品视频在线看| 日韩亚洲一区在线| 欧美一级精品| 欧美91精品| 欧美精品一二| 日本不卡视频在线| 中文字幕乱码亚洲无线精品一区| 蜜桃精品在线| 最新日韩av| 蜜臀av一区二区在线免费观看| 精品免费av| av最新在线| 欧美不卡高清一区二区三区| 99久久久久久中文字幕一区| 136国产福利精品导航网址| 91久久视频| 国产亚洲电影| 91日韩欧美| 久久精品在线| 国产亚洲永久域名| 91麻豆精品激情在线观看最新 | 99国产精品久久久久久久成人热 | 亚洲精品第一| bbw在线视频| 一二三区精品| 国产成人精品福利| 亚洲一区有码| 国产中文欧美日韩在线| 桃色一区二区| 欧美高清一区| 免费高潮视频95在线观看网站| 亚洲在线成人| 欧美中文字幕| 欧美在线观看天堂一区二区三区| 精品久久亚洲| 在线国产一区| 亚洲区欧美区| 国产女人18毛片水真多18精品| 亚洲一区二区免费在线观看| 亚洲精品日韩久久| 国产精品99精品一区二区三区∴| 日韩电影免费在线观看| 国产视频一区免费看| 99精品在线| 国产精品色婷婷在线观看| 精品一区二区三区中文字幕| 欧美一区二区三区久久精品| 国产亚洲精品美女久久| 国产精品啊v在线| 国产在线日韩| 视频在线在亚洲| 国产欧美一区二区三区精品观看 | 亚洲精品乱码久久久久久蜜桃麻豆| 日韩av不卡一区二区| 精品三级国产| 国产精品欧美一区二区三区不卡| 四虎8848精品成人免费网站| 亚洲图片久久| 亚洲福利一区| 国产成人免费| 国产精品va| 亚洲我射av| 伊人成人在线视频| 国产91精品对白在线播放| 久久伊人国产| 国产欧美三级| 亚洲精品影视| 丝袜美腿亚洲色图| 亚洲高清av| 久久久精品五月天| 国产精品亚洲产品| 免费视频一区二区三区在线观看| 日本不卡一区二区三区| 亚洲免费中文| 狠狠久久婷婷| 在线观看免费一区二区| 欧洲亚洲一区二区三区| 亚洲综合丁香| 国产精品免费看| 伊人成人在线视频| 好看不卡的中文字幕| 免费毛片在线不卡| 欧美日韩一二三四| 999国产精品999久久久久久| 中文字幕一区久| 久久久久久夜| 伊人网在线播放| 亚洲国产福利| 高清av不卡| 日本午夜大片a在线观看| 成人午夜亚洲| 天堂√8在线中文| 青青久久av| 激情婷婷亚洲| 在线综合欧美| 蜜桃免费网站一区二区三区| 蜜臀久久99精品久久久久久9| 亚洲天堂免费| 日本免费新一区视频| 国产欧美亚洲一区| 免费在线观看一区| 国产aa精品| 四虎4545www国产精品| 日韩精品永久网址| 亚洲婷婷免费| 亚洲免费网址| 日本aⅴ亚洲精品中文乱码| 欧美视频精品全部免费观看| 欧美国产极品| 91综合视频| 欧美性感美女一区二区| 伊人影院久久| 久久国产精品久久w女人spa| 亚洲一区二区三区四区电影 | 精品国产欧美| 免费在线成人| 日韩中文视频| 欧美精品黄色| 精品一区在线| 首页国产欧美久久| 国产精品一区二区三区av| 成人午夜网址| 午夜精品一区二区三区国产| 五月婷婷亚洲| 久久国产生活片100| 日韩欧美一区免费| 国产一区二区高清| 国产色噜噜噜91在线精品| 国产成人久久| 国精品一区二区| 午夜亚洲福利| 在线精品观看| 国产一区二区精品久| 一区在线免费| 国产精品一区二区精品视频观看 | 蜜桃免费网站一区二区三区| 久久国产精品免费一区二区三区| 欧美国产亚洲精品| 91精品国产91久久久久久黑人| 六月婷婷一区| 免费视频一区二区三区在线观看| 国内亚洲精品| 久久激五月天综合精品| 吉吉日韩欧美| 男女性色大片免费观看一区二区 | 国产伦精品一区二区三区视频| 成人三级高清视频在线看| 91精品国产乱码久久久久久久 | 日本一不卡视频| 久久精品国产在热久久| 亚洲黄色影院| 精品免费视频| 麻豆精品网站| 久久影院资源站| 亚洲一区观看| 国产精品高清一区二区| 狠狠操综合网| 国产色综合网| sm久久捆绑调教精品一区| 日韩精品91亚洲二区在线观看| 国产+成+人+亚洲欧洲在线| 蜜桃av一区二区|