jwt理解:授權(quán)服務(wù)器頒發(fā)的令牌卿拴,包含關(guān)于用戶或者客戶的元數(shù)據(jù)和聲明(claims)通過檢查簽名坚踩,期望的頒發(fā)者(issuer)注服,期望的接收人aud(audience)耸三,或者scope惋耙, 資源服務(wù)器可以在本地校驗令牌 通常實現(xiàn)為簽名的JSON Web Tokens(JWT)
工程結(jié)構(gòu):
包名:
org.simple.web.jwt.annotation : 封裝繼承WebSecurityConfigurerAdapter捣炬,自定WebSecurityConfig
org.simple.web.jwt.config:spring security配置文件
org.simple.web.jwt.filter :?
JwtAuthenticationTokenFilter負責(zé)處理jwt事情
UserLoginFilter:用戶登錄操作
org.simple.web.jwt.property:jwt配置文件
核心配置類
SimpleAuthenticatingSuccessHandler校驗成功之后后面處理
SimpleAuthenticatingFailureHandler校驗失敗之后后面處理
JwtService通過generateToken生成token,通過validateToken校驗token
postman請求:
http://localhost:8080/auth/token請求頭aContent-Type需要配置
用戶名和密碼保持一樣绽榛,因為PasswordEncoder是md5模式
org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider#authenticate方法調(diào)用org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider#additionalAuthenticationChecks校驗用戶名和密碼是否正確
登錄成功之后湿酸,請求http://localhost:8080/index/index