多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php框架 > 框架設(shè)計(jì) > Spring Security身份認(rèn)證之UserDetailsService

Spring Security身份認(rèn)證之UserDetailsService

來源:程序員人生   發(fā)布時(shí)間:2015-05-08 08:10:03 閱讀次數(shù):4005次

    zhiqian我們采取了配置文件的方式從數(shù)據(jù)庫中讀取用戶進(jìn)行登錄。雖然該方式的靈活性相較于靜態(tài)賬號(hào)密碼的方式靈活了許多,但是將數(shù)據(jù)庫的結(jié)構(gòu)暴露在明顯的位置上,絕對(duì)不是1個(gè)明智的做法。本文通過Java代碼實(shí)現(xiàn)UserDetailsService接口來實(shí)現(xiàn)身份認(rèn)證。


    1.1 UserDetailsService在身份認(rèn)證中的作用


    Spring Security中進(jìn)行身份驗(yàn)證的是AuthenticationManager接口,ProviderManager是它的1個(gè)默許實(shí)現(xiàn),但它其實(shí)不用來處理身份認(rèn)證,而是拜托給配置好的AuthenticationProvider,每一個(gè)AuthenticationProvider會(huì)輪番檢查身份認(rèn)證。檢查后或返回Authentication對(duì)象或拋出異常。


    驗(yàn)證身份就是加載響應(yīng)的UserDetails,看看是不是和用戶輸入的賬號(hào)、密碼、權(quán)限等信息匹配。此步驟由實(shí)現(xiàn)AuthenticationProvider的DaoAuthenticationProvider(它利用UserDetailsService驗(yàn)證用戶名、密碼和授權(quán))處理。包括 GrantedAuthority 的 UserDetails對(duì)象在構(gòu)建 Authentication對(duì)象時(shí)填入數(shù)據(jù)。


1.2 配置UserDetailsService


    1.2.1 更改Spring-Security.xml中身份的方式,使用自定義的UserDetailsService。

1.2 配置UserDetailsService


    1.2.1 更改Spring-Security.xml中身份的方式,使用自定義的UserDetailsService。


1
<span style="font-family:arial, helvetica, sans-serif;"><security:authentication-manager><br>  <security:authentication-provider user-service-ref="favUserDetailService"><br>      </security:authentication-provider><br> </security:authentication-manager><br><br> <bean id="favUserDetailService" class="com.favccxx.favsecurity.security.FavUserDetailService" /><br></span>


    

    1.2.2 新建FavUserDetailsService.java,實(shí)現(xiàn)UserDetailsService接口。為了下降學(xué)習(xí)的難度,這里并沒有與數(shù)據(jù)庫進(jìn)行集成,而是采取摹擬從數(shù)據(jù)庫中獲得用戶的方式進(jìn)行身份驗(yàn)證。示例代碼以下:


<table id="xuim5"><legend id="xuim5"></legend></table>

1
<span style="font-family:arial, helvetica, sans-serif;">package com.favccxx.favsecurity.security;<br><br>import java.util.ArrayList;<br>import java.util.Collection;<br>import java.util.List;<br><br>import org.apache.logging.log4j.LogManager;<br>import org.apache.logging.log4j.Logger;<br>import org.springframework.security.core.GrantedAuthority;<br>import org.springframework.security.core.authority.SimpleGrantedAuthority;<br>import org.springframework.security.core.userdetails.User;<br>import org.springframework.security.core.userdetails.UserDetails;<br>import org.springframework.security.core.userdetails.UserDetailsService;<br>import org.springframework.security.core.userdetails.UsernameNotFoundException;<br><br>public class FavUserDetailService implements UserDetailsService {<br><br> private static final Logger logger = LogManager.getLogger(FavUserDetailService.class);<br><br>  /**<br>  * 根據(jù)用戶名獲得用戶 - 用戶的角色、權(quán)限等信息<br>   */<br>  生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产欧美一级片 | 大焦伊人 | www.日韩精品 | 国产日产亚洲欧美综合另类 | xxxx日本hd| 日本在线视频二区 | 一级毛片在线视频 | 美国一级淫片 | 国产亚洲精品网站 | 日韩 亚洲 欧美 中文 高清 | 精品一区二区三区视频在线观看免 | 欧美色欧美色 | 成 人免费视频l免费观看 | 日本69视频| 2023av网站 | 亚洲综合亚洲国产尤物 | 国内精品久久久久激情影院 | 18av黄动漫网站在线观看 | 最新更新国内自拍视频 | 欧美日本综合一区二区三区 | 日本一级淫片免费放 | 久久国产免费一区 | 69视频在线是免费观看 | 精品一区二区三区 不卡高清 | 亚洲性xx | 亚洲人在线视频 | 亚洲人成综合在线播放 | 国产成人久久精品二区三区 | 国产亚洲精品国产福利在线观看 | 欧美综合区 | 范冰冰一级做a爰片久久毛片 | 国产精品久久国产三级国不卡顿 | 欧美精品首页 | 小说区图片区综合久久88 | 欧美成人在线视频 | 色播成人网 | 亚洲天堂日本 | 黄色影院在线观看视频 | 亚洲欧美色欧另类欧 | 91久久亚洲精品国产一区二区 | 一二三四视频观看中文在线看 |