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

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

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

瀏覽:126日期: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久久,三上悠亚国产精品一区二区三区
青青草国产成人99久久| 奇米狠狠一区二区三区| 亚州精品视频| 亚洲精品护士| 亚洲人成亚洲精品| 热久久国产精品| 99国内精品| 亚洲二区视频| 欧美日韩国产一区二区三区不卡| 日韩美女国产精品| 午夜精品网站| 黄色精品网站| 欧美日韩国产亚洲一区| 在线一区免费| 激情自拍一区| 亚洲精品小说| 人人爽香蕉精品| 日韩精品第一| 久久国产生活片100| 久久国产日韩欧美精品| 欧美伊人久久| 久久久精品国产**网站| 精品欠久久久中文字幕加勒比| 日本一区二区高清不卡| 国产精品亚洲一区二区在线观看| 黄在线观看免费网站ktv| 精品国产一区二| 美女视频黄久久| 精品久久在线| 精品视频97| 蜜桃成人精品| 欧美日韩国产免费观看| 免费观看在线色综合| 蜜臀av一区二区在线免费观看| 福利一区二区| 国产精品yjizz视频网| 日本美女一区| 六月丁香综合| 欧美三区不卡| 日韩综合在线| 欧美日韩1区| 日韩一区亚洲二区| 99热精品久久| 国产精品超碰| 国产麻豆一区二区三区精品视频| 成人在线丰满少妇av| 中文字幕在线官网| 香蕉成人av| 日韩午夜在线| 综合欧美亚洲| 国产美女精品视频免费播放软件| 黑丝一区二区三区| 精品一区在线| 老司机久久99久久精品播放免费| 国产精品99视频| 国内在线观看一区二区三区| 亚洲国产成人二区| 亚洲精品在线观看91| 亚洲精品第一| 欧美午夜三级| 老牛影视精品| 免费在线欧美视频| 国产精品tv| 欧美一区三区| 日韩一区二区三区免费视频 | 少妇精品导航| 日韩不卡一区| 鲁鲁在线中文| 日韩影院在线观看| 久久久国产精品网站| 久久久久国产精品一区二区| 黄色日韩在线| 欧美激情福利| 国产一区二区高清| 国产精品v一区二区三区| 欧美日韩黑人| 美女久久久久久 | 日韩国产欧美在线播放| 欧美精品中文| 日韩黄色大片网站| 日韩精品91亚洲二区在线观看| 亚洲精品四区| 91综合网人人| 久久国产精品久久久久久电车 | 亚州欧美在线| 91欧美国产| 午夜a一级毛片亚洲欧洲| 色88888久久久久久影院| 一区二区电影在线观看| 欧美国产小视频| 日韩在线观看中文字幕| 久久精品亚洲人成影院| 国产精品尤物| 日韩精品一二三四| 性欧美xxxx免费岛国不卡电影| 亚洲第一精品影视| 麻豆一区二区99久久久久| 亚洲精选久久| 欧美+日本+国产+在线a∨观看| 国产专区一区| 久久av免费| 日韩有码av| 免费在线观看精品| 久久高清免费| av在线最新| 91国内精品| 视频在线观看91| 蜜桃一区二区三区| 欧美日韩国产v| 麻豆理论在线观看| 国产精品mm| 欧美亚洲自偷自偷| 免费黄色成人| 久久精品中文| 国产aⅴ精品一区二区三区久久 | 亚洲日韩视频| 国产主播一区| 国产精品久久久久久久久免费高清| 国产精品sm| 亚洲精品在线国产| 另类亚洲自拍| 国产视频久久| 午夜欧美精品| 欧美日韩精品免费观看视欧美高清免费大片 | 日韩一级欧洲| 久久亚洲在线| 九九精品调教| av中文字幕在线观看第一页| 欧美激情视频一区二区三区免费 | 九一精品国产| 桃色av一区二区| 9国产精品视频| 午夜国产精品视频免费体验区| 在线一区二区三区视频| 欧美特黄一区| 久久久天天操| 色88888久久久久久影院| 欧美精品日日操| 亚洲福利精品| 99在线精品视频在线观看| 亚洲一区激情| 日韩在线a电影| 欧美一级一区| 久久不见久久见免费视频7| 国产精品欧美大片| 久久久久九九精品影院| 精品久久视频| 日韩免费在线| 久久精品91| 亚洲中午字幕| 亚洲精品免费观看| 国产日韩亚洲欧美精品| 奇米777国产一区国产二区| 国产日本精品| 精品视频91| 99久久久久国产精品| 一区在线视频观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 国内一区二区三区| 电影91久久久| 亚洲国内精品| 视频一区二区欧美| 欧美亚洲二区| 美女在线视频一区| 日韩毛片在线| 久久亚洲欧洲| 欧美日一区二区在线观看| 日本一二区不卡| 色爱av综合网| 免费观看在线色综合| 久久不见久久见免费视频7| 亚洲成人不卡| 中文无码日韩欧| 麻豆一区二区三| 激情视频一区二区三区| 蜜臀av在线播放一区二区三区 | 国产福利亚洲| 首页国产精品| 国产亚洲在线观看| 国产欧美视频在线| 日韩一区二区三区免费| 蜜桃视频一区二区三区在线观看| 日韩网站中文字幕| 免费国产亚洲视频| 九九久久国产| 蜜臀久久99精品久久一区二区| 国内精品麻豆美女在线播放视频| 蜜臀av国产精品久久久久| 天堂va在线高清一区| 久久的色偷偷| 伊人久久成人| 青青伊人久久| 国产精品黄色片| 欧美va天堂在线| 日韩黄色在线观看| 亚洲成人国产| 欧美日韩亚洲一区三区| 日韩在线欧美| 日韩高清不卡在线| 久久精品国产68国产精品亚洲|