如何使用SpringSecurity,相信百度過的都知道,總***有四種用法,從簡到深為:
不用數據庫,全部數據寫在配置文件,這個也是官方文檔裏面的demo;
使用數據庫,根據spring security默認實現代碼設計數據庫,也就是說數據庫已經固定了,這種方法不靈活,而且那個數據庫設計得很簡陋,實用性差;
spring security和Acegi不同,它不能修改默認filter了,但支持插入filter,所以根據這個,我們可以插入自己的filter來靈活使用;
暴力手段,修改源碼,前面說的修改默認filter只是修改配置文件以替換filter而已,這種是直接改了裏面的源碼,但是這種不符合OO設計原則,而且不實際,不可用。
基於 Filter , Servlet, AOP 實現身份認證和權限驗證
雖然原理感覺會很復雜,不過沒關系,通過代碼的講解,大家可以看完教程代碼實現,再返回看這個簡單的原理,可能會有不錯的收獲。
(可以在這裏基於自身業務進行自定義的實現 如通過數據庫,xml,緩存獲取等)
1.將用戶登錄,權限控制分離出來,達到和其他控制、邏輯代碼完全分離。
2.在控制、邏輯代碼裏面,可以通過spring容器的到我們登錄用戶的信息,可插拔性的體現。
3.自定義的權限控制訪問,不但是對某個URL可操控,同時可以對某個方法進行控制。
4.提供壹些登錄相關的操作,如記住我、登錄成功跳轉頁面設定等等。
5.安全控制性好,對並發session可控性好。
動力節點王鶴老師講解的springsecurity教程,非常詳細,而且很全面,通過案例帶妳快速學習Spring Security。
動力節點SpringSecurity教程-細說SpringSecurity安全框架
/video/BV1Bz4y1m79T
SpringSecurity教程資料下載
/?csdn
001.security-框架介紹
002.security-初探-1
003.security-初探-2
004.security-初探-3
005.security-初探-4
006.security-自定義用戶名和密碼
007.security-關閉驗證功能
008.security-基於內存的用戶信息-思路
009.security-基於內存的用戶信息-定義用戶
010.security-基於內存的用戶信息-密碼加密
011.security-基於內存用戶信息的角色設置
012.security-基於內存用戶信息的方法設置角色訪問權限
013.security-基於內存用戶信息的方法設置角色測試
014.security-基於內存用戶信息的方法設置角色測步驟總結
015.security-jdbc用戶信息主要接口
016.security-jdbc用戶信息maven依賴
017.security-jdbc用戶信息創建dao和service
018.security-jdbc用戶信息測試數據訪問
019.security-jdbc用戶信息初始化用戶表數據
020.security-jdbc用戶信息實現UserDetailsService接口
021.security-jdbc用戶信息測試角色和用戶
022.角色-RBAC
023.角色-RBAC數據庫表介紹
024.認證類UserDetailsService
025.InMemoryUserDetatilsService的創建
026.測試InMemoryUserDetailsService賬號
027.創建表
028.創建Modules
029.創建JdbcUserDetailsManager對象
030.測試JdbcUserDetailsManager-1
031.測試JdbcUserDetatilsManager-2
032.設計用戶角色表
033.創建Modules-自定義用戶和角色
034.security-表結構介紹
035.security-自定義UserDetails實現類SysUser
036.security-創建SysUserMapper文件
037.security-添加mybatis框架配置數據
038.security-通過程序初始SysUser賬號數據
039.security-手工初始角色數據
040.security-創建SysUser查詢方法
041.security-創建SysRoleMapper接口和mapper文件
042.security-查詢角色信息
043.security-實現UserDetailsService接口
044.security-讓框架使用自定義的UserDetailsService實現
045.security-創建測試的html和Controller
046.security-設置url權限定義
047.security-設置url角色
048.security-賬號過期的解決
049.security-設置密碼處理方式
050.security-功能實現步驟
051.security-默認登錄頁面
052.security-自定義登錄頁面
053.security-使用自定義mylogin頁面
054.security-設置自定義登錄配置參數
055.security-自定義登錄總結
056.security-ajax登錄頁面
057.security-創建SuccessHandler
058.security-創建FailureHandler
059.security-指定配置Handler
060.security-使用jackson處理json
061.security-文檔總結
062.security-介紹本節內容
063.security-創建生成驗證的Controller定義參數
064.security-繪制白色的背景圖片
065.security-向圖片寫入多個文字
066.security-設置幹擾線
067.security-驗證生成文檔
068.security-ajax請求增加code參數
069.security-過濾器介紹
070.security-創建過濾器-1
071.security-創建過濾器-2
072.security-添加自定義過濾器
073.security-總結