一、創建項目並導入依賴
<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>
二、相關配置和代碼
2.1)application.properties配置密碼
注:我這里從簡,可以先去看https://www.cnblogs.com/fernfei/p/12185186.html如何配置密碼
spring.security.user.name=admin
spring.security.user.password=123
2.3)寫json登陸之前先看一下源碼,了解一下它是如何表單登錄的
2.3.1)在Idea中連按連下shift鍵,搜索UsernamePasswordAuthenticationFilter類
2.3.2)進入后再按Ctrl+F12可以查看該類的所有方法
2.3.4)我們只需要在request.getParameter()那里重寫一下不就可以實現json登陸
重寫attemptAuthentication(HttpServletRequestrequest,HttpServletResponseresponse)方法
只需要復制父類的方法,多加一個判斷json的方法。就能同時支持key-value形式可json形式的參數了
注:自定義的過濾類和security原來那個表單登陸過濾設置是分開的
體現在filter.setFilterProcessesUrl()和loginProcessingUrl
因此表單登陸和json登陸的,successHandler判斷也要分開寫,