日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > Spring Security身份認證之UserDetailsService

Spring Security身份認證之UserDetailsService

來源:程序員人生   發布時間:2015-05-08 08:10:03 閱讀次數:4012次

    zhiqian我們采取了配置文件的方式從數據庫中讀取用戶進行登錄。雖然該方式的靈活性相較于靜態賬號密碼的方式靈活了許多,但是將數據庫的結構暴露在明顯的位置上,絕對不是1個明智的做法。本文通過Java代碼實現UserDetailsService接口來實現身份認證。


    1.1 UserDetailsService在身份認證中的作用


    Spring Security中進行身份驗證的是AuthenticationManager接口,ProviderManager是它的1個默許實現,但它其實不用來處理身份認證,而是拜托給配置好的AuthenticationProvider,每一個AuthenticationProvider會輪番檢查身份認證。檢查后或返回Authentication對象或拋出異常。


    驗證身份就是加載響應的UserDetails,看看是不是和用戶輸入的賬號、密碼、權限等信息匹配。此步驟由實現AuthenticationProvider的DaoAuthenticationProvider(它利用UserDetailsService驗證用戶名、密碼和授權)處理。包括 GrantedAuthority 的 UserDetails對象在構建 Authentication對象時填入數據。


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,實現UserDetailsService接口。為了下降學習的難度,這里并沒有與數據庫進行集成,而是采取摹擬從數據庫中獲得用戶的方式進行身份驗證。示例代碼以下:


          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>  * 根據用戶名獲得用戶 - 用戶的角色、權限等信息<br>   */<br>  生活不易,碼農辛苦
          如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
          程序員人生
          ------分隔線----------------------------
          分享到:
          ------分隔線----------------------------
          關閉
          程序員人生
          主站蜘蛛池模板: 日韩视频二区 | 91欧美精品成人综合在线观看 | 国产欧美在线 | 欧美日韩激情 | 亚洲精品免费在线观看 | 欧美日韩伊人 | 在线精品一区二区 | 国产黄a| 国产成人精品在线观看 | 久久99精品久久久久婷婷 | 成人av在线网站 | 久久伊99综合婷婷久久伊 | 国产精品久久久久久久免费大片 | 欧美性猛交xxxx黑人交 | 国产精品久久久久永久免费看 | 国产成人在线一区 | 91在线精品一区二区三区 | 福利一区在线 | 日韩精品久久久久久久软件91 | 99久热在线精品视频观看 | 日韩精品在线观看视频 | www.亚洲精品 | 久久伊人免费 | 久久se精品一区精品二区 | 99色婷婷| 久久久蜜臀国产一区二区 | 成人免费视频在线观看 | 欧美成年网站 | 91超碰在线免费观看 | 综合久久一区 | 毛片免费网站 | 国产一区二区在线免费观看 | 国产婷婷色一区二区三区在线 | 日韩精品电影在线观看 | 国产一区二区三区四 | 97视频免费 | 综合久久五月 | 污污的网站在线观看 | 国产精品第 | 在线看一区二区 | 中文字幕日韩一区二区 |