bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

spring-security自行理解-創(chuàng)新互聯(lián)

1、導(dǎo)入spring-security的jar包 或者是在maven中導(dǎo)入依賴
作者選擇的是在maven中導(dǎo)入依賴(這邊的前提是在spring項(xiàng)目中集成spring-security框架用于認(rèn)證)
用maven導(dǎo)入依賴:在pom.xml中配置(作者的spring是5.0+的版本)
<dependencies>

為漳州等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及漳州網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、漳州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${spring.security.version}</version>
</dependency>

</dependencies>

2、在web.xml中配置
<!-- 配置加載類路徑的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml,classpath:spring-security.xml</param-value>
</context-param>

<!--springSecurity配置-->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<!--springSecurity的配置-->

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、創(chuàng)建并配置spring-security.xml文件
開始配置

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd">
a)、<!--配置不攔截的資源
auto-config="true" 不用自己編寫登陸的頁(yè)面,框架提供默認(rèn)的登陸頁(yè)面
use-expressions="false" 是否使用SPEL表達(dá)式
-->
<security:http pattern="/login.jsp" security="none"/>
<security:http pattern="failer.jsp" security="none"/>
<security:http pattern="/css/" security="none"/>
<security:http pattern="/images/
" security="none"/>
<security:http pattern="/img/" security="none"/>
<security:http pattern="/plugins" security="none"/>
b)、<!--配置具體的原則-->
<security:http auto-config="true" use-expressions="false">
<!--配置具體的攔截規(guī)則 patten="請(qǐng)求的路徑規(guī)則" access="訪問系統(tǒng)的人" 必須要有ROLE_USER角色-->
<security:intercept-url pattern="/
" access="ROLE_USER_ADMIN"/>

<!--定義跳轉(zhuǎn)的具體的頁(yè)面-->
    <security:form-login
        login-page="/login.jsp"
        login-processing-url="/login.do"
        default-target-url="/index.jsp"
        authentication-failure-url="/failer.jsp"
        authentication-success-forward-url="/pages/main.jsp"/>

    <!--關(guān)閉跨域請(qǐng)求-->
    <security:csrf disabled="true"/>

    <!--退出-->
    <security:logout invalidate-session="true" logout-url="/logout.do" logout-success-url="/login.jsp"/>
</security:http>
c)、<!--配置數(shù)據(jù)庫(kù)中的用戶名和密碼-->
<security:authentication-manager>
    <security:authentication-provider user-service-ref="userService">
        <!--配置加密方式-->
        <security:password-encoder ref="passwordEnCoder"/>
    </security:authentication-provider>
</security:authentication-manager>

<!--配置加密的類-->
<bean id="passwordEnCoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>

</beans>

結(jié)束

4、創(chuàng)建自己的UserDao接口和一個(gè)繼承了UserDetailsService這個(gè)接口的UserService接口
并創(chuàng)建一個(gè)UserServiceImpl類實(shí)現(xiàn)UserService接口
a)、重寫這個(gè)方法:public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
方法中處理自己的用戶封裝成UserDetails
User user = new User(userInfo.getUsername(),userInfo.getPassword(),userInfo.getStatus()==0?true:false,true,true,true,getAuthority(userInfo.getRoles()));
return user;
}
和這個(gè)方法:public List<SimpleGrantedAuthority> getAuthority(List<Role> roles){
作用就是返回一個(gè)List集合,集合中裝入的是角色描述
return list;
}
5、spring-security源碼解析
spring-security自行理解
web.xml配置文件的上圖配置的名稱是默認(rèn)的不可更改
而這個(gè)filter對(duì)應(yīng)的具體類是spring-security自行理解
這個(gè)類的作用是用于干嘛的呢?
這個(gè)類的父類是繼承了filter
spring-security自行理解
所以這個(gè)類的具體作用應(yīng)該是在doFilter中
spring-security自行理解
在此中我們可以看到傳入了一個(gè)
spring-security自行理解
FilterChain對(duì)象
但是這個(gè)對(duì)象又干了什么呢?
spring-security自行理解
此時(shí)賦值為了本類中的此變量this.delegate; 往上看我們看到了此變量是一個(gè)Filter
spring-security自行理解

spring-security自行理解
以上我們看到當(dāng)為空之后就調(diào)用了本類中的initDelegate進(jìn)行賦值
spring-security自行理解
這邊通過加載配置文件獲取Bean對(duì)象
6、FilterChainProxy實(shí)現(xiàn)加載所有Filter的實(shí)現(xiàn)類
spring-security自行理解
spring-security自行理解
獲取到所需要加載的所有Filter
spring-security自行理解
spring-security自行理解
這個(gè)SecurityFilters枚舉定義所有需要加載的Filter
spring-security自行理解

通過jar包
spring-security-config-5.0.1.RELEASE.jar
可以翻出spring.handlers
spring-security自行理解
spring-security自行理解
相對(duì)應(yīng)
spring-security自行理解
這邊更具體的說明了需要加載的所有Filter
spring-security自行理解
spring-security自行理解

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。

本文標(biāo)題:spring-security自行理解-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://vcdvsql.cn/article14/ppsge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)網(wǎng)站策劃App開發(fā)網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)