spring security是乙個框架,提供針對常見攻擊的身份驗證,授權和保護。通過對命令式和反應式應用程式的一流支援,它是保護基於spring的應用程式的事實標準。
spring security是spring aop思想的具體實現。它基於servlet過濾器實現訪問控制。它提供了完善的認證機制和方法級的授權功能。是一款非常優秀的許可權管理框架 (畫外音:學起來有點複雜,相對於shiro)。
spring-security-core.jar
核心包,任何spring security功能都需要此包。
spring-security-web.jar
web工程必備,包含過濾器和相關的web安全基礎結構**。
spring-security-config.jar
用於解析xml配置檔案,用到spring security的xml配置檔案的就要用到此包。
spring-security-taglibs.jar
spring security提供的動態標籤庫,jsp頁面可以用。
org.springframework.security
spring-security-web
5.3.4.release
org.springframework.security
spring-security-config
5.3.4.release
第二步:配置web.xml,新增spring sercuity過濾器鏈springsecurityfilterchain
org.springframework.web.filter.delegatingfilterproxy
/*
注意:過濾器名稱必須叫springsecurityfilterchain
為啥?因為在過濾器鏈初始化的時候,它是根據id讀取的web.xml得到springsecurityfilterchain的相關配置。
第三步:新增spring security核心配置檔案
配置檔案名稱隨便起
<?xml version="1.0" encoding="utf-8"?>
關於配置檔案的說明:
auto-config = 「true」:表示自動載入spring security配置檔案。這個值必須為true,不然將無法使用spring security;
use-expressions="true" :使用spring的el表示式來配置springsecurity
pattern=「/**」:攔截所有路徑;
access="hasanyrole('role_user','role_admin')":必須要有role_user或者role_admin角色才能訪問資源;
:spring security預設是加密認證,新增此欄位表示不加密認證。
第四步:將spring security配置檔案新增到spring配置檔案中
關於將spring security新增到spring容器而不是springmvc容器的說明:學過springmvc的同學都知道,當spring工程中引入springmvc後,整乙個工程當中有兩個ioc容器:父容器spring和子容器springmvc。子容器可以訪問父容器的內容,而父容器不能訪問子容器的內容。對於外界來說,它只能訪問子容器springmvc而不能訪問父容器spring。
如果把spring容器比作乙個國家的所有資源,那麼springmvc容器就是這個國家提供給外界訪問的乙個關口。所有像訪問這個國家的資源的人,都必須通過springmvc這個關口去訪問。(提供憑證[引數]給controller,再由controller呼叫service完成資源訪問)。
所以,為了不暴露spring security的相關**,故而我們將spring security載入到spring容器內。
第五步:執行專案,開啟瀏覽器輸入http:127.0.0.1:8080/index即可看到如下效果,
這個頁面是spring security的預設登入頁面。輸入前面定義的username和password即可登入.
同時,開啟idea控制台可以發現丟擲了accessdeniedexception,因為你還沒有通過認證。
至此,關於spring security的入門案例就結束了。後面將逐步更新spring security的內容。
spring security 安全框架
本文 http itblood.com spring security security framework.html 安全常識 acegi介紹 以宣告式方式為基於spring的web應用新增認證和授權控制 acegi體系結構 認證管理器 訪問控制管理器。認證 authenticationproce...
SpringSecurity認證流程
在之前的文章 springboot spring security 基本使用及個性化登入配置 中對springsecurity進行了簡單的使用介紹,基本上都是對於介面的介紹以及功能的實現。這一篇文章嘗試從原始碼的角度來上對使用者認證流程做乙個簡單的分析。在具體分析之前,我們可以先看看springse...
SpringSecurity使用技巧
1 鑑權處理頁通常包括四個方面的設定,分別是鑑權失敗 鑑權成功 未鑑權訪問 已鑑權但訪問了受保護許可權。如何自 定義這四類處理。鑑權失敗的預設處理頁面是 spring security login?login error 其預設處理類為 urlauthenticationfailurehandler...