spring security中文教程講解 轉自 臨遠 部落格
最近在網上找了好多學習資源,特別是視訊,都找不到!哎,發現這位老師寫的不錯,轉過來 慢慢消化吧! 感謝 臨遠 老師
官方文件:http://static.springsource.org/spring-security/site/docs/3.0.x/reference/springsecurity.html
文件原始碼免費下載:http://download.csdn.net/detail/liangrui1988/5902337
一起學習吧!
除了官方已經不再支援ntlm和portal兩個例子之外,其他的例項都已經通過了測試。下一步計劃是對整體內容進行整理,再加上3.1.3提供的新功能。
目錄索引連結如下:
序言I. 基礎篇
1. 一個簡單的HelloWorld
1.1. 配置過濾器1.2. 使用名稱空間1.3. 完善整個專案1.4. 執行示例2. 使用資料庫管理使用者許可權
2.1. 修改配置檔案2.2. 資料庫表結構3. 自定義資料庫表結構
3.1. 自定義表結構3.2. 初始化資料3.3. 獲得自定義使用者許可權資訊
3.3.1. 處理使用者登陸3.3.2. 檢驗使用者許可權4. 自定義登陸頁面
4.1. 實現自定義登陸頁面4.2. 修改配置檔案4.3. 登陸頁面中的引數配置4.4. 測試一下5. 使用資料庫管理資源
5.1. 資料庫表結構5.2. 初始化資料5.3. 實現從資料庫中讀取資源資訊
5.3.1. 需要何種資料格式5.3.2. 替換原有功能的切入點6. 控制使用者資訊
6.1. MD5加密6.2. 鹽值加密6.3. 使用者資訊快取6.4. 獲取當前使用者資訊7. 自定義訪問拒絕頁面8. 動態管理資源結合自定義登入頁面9. 中文使用者名稱10. 判斷使用者是否登入II. 保護web篇
11. 圖解過濾器
11.1. HttpSessionContextIntegrationFilter11.2. LogoutFilter11.3. AuthenticationProcessingFilter11.4. DefaultLoginPageGeneratingFilter11.5. BasicProcessingFilter11.6. SecurityContextHolderAwareRequestFilter11.7. RememberMeProcessingFilter11.8. AnonymousProcessingFilter11.9. ExceptionTranslationFilter11.10. SessionFixationProtectionFilter11.11. FilterSecurityInterceptor12. 管理會話
12.1. 新增監聽器12.2. 新增過濾器12.3. 控制策略
12.3.1. 後面的使用者禁止登陸12.3.2. 後登陸的將先登入的踢出系統13. 單點登入
13.1. 配置JA-SIG13.2. 配置Spring Security
13.2.1. 新增依賴13.2.2. 修改applicationContext.xml13.3. 執行配置了cas的子系統13.4. 為cas配置SSL
13.4.1. 生成金鑰13.4.2. 為jetty配置SSL13.4.3. 為tomcat配置SSL14. basic認證
14.1. 配置basic驗證14.2. 程式設計實現basic客戶端15. 標籤庫
15.1. 配置taglib15.2. authenticaiton15.3. authorize15.4. acl/accesscontrollist15.5. 為不同使用者顯示各自的登陸成功頁面16. 自動登入
16.1. 預設策略16.2. 持久化策略17. 匿名登入
17.1. 配置檔案17.2. 修改預設使用者名稱17.3. 匿名使用者的限制18. 防禦會話偽造
18.1. 攻擊場景18.2. 解決會話偽造19. 預先認證
19.1. 為jetty配置Realm19.2. 配置Spring Security20. 切換使用者
20.1. 配置方式20.2. 例項演示21. 通道安全
21.1. 設定通道安全21.2. 指定http和https的埠22. digest認證
22.1. 配置digest驗證22.2. 使用ajax實現digest認證22.3. 程式設計實現digest客戶端23. 通過LDAP獲取使用者資訊24. 通過OpenID進行登入
24.1. 配置24.2. 系統時間問題24.3. openid4java的處理流程25. 使用X509登入
25.1. 生成證照25.2. 配置伺服器使用雙向加密25.3. 配置X509認證26. 使用NTLM登入27. 使用JAAS機制28. 使用HttpInvoker29. 使用rmi30. 控制portal的許可權31. 儲存登入之前的請求32. 記錄操作日誌III. 內部機制篇
33. 保護方法呼叫
33.1. 控制全域性範圍的方法許可權33.2. 控制某個bean內的方法許可權33.3. 使用annotation控制方法許可權
33.3.1. 使用Secured33.3.2. 使用jsr25034. 許可權管理的基本概念
34.1. 認證與驗證34.2. SecurityContext安全上下文34.3. Authentication驗證物件35. Voter表決者
35.1. Voter表決者35.2. RoleVoter35.3. AuthenticatedVoter35.4. AbstractAclVoter36. 攔截器
36.1. 許可權配置資料來源36.2. 許可權管理器36.3. 後置呼叫管理器36.4. 臨時分配額外許可權37. 使用者資訊
37.1. UserDetails37.2. 使用角色繼承37.3. 為ACL新增角色繼承37.4. PasswordEncoder和SaltValue38. 整合jcaptcha39. 動態資源管理
39.1. 基本知識39.2. 讀取資源39.3. URL資源擴充套件點39.4. METHOD資源擴充套件點40. 擴充套件UserDetails
40.1. 實現UserDetails介面40.2. 實現UserDetailsService介面40.3. 修改配置檔案40.4. 測試執行41. 鎖定使用者42. 設定過濾器鏈43. 自定義過濾器44. 使用使用者組
44.1. 資料庫結構44.2. 修改配置檔案45. 在JSF中使用Spring Security
45.1. 修改過濾器支援forward45.2. 自定義登入頁面45.3. 顯示密碼錯誤資訊46. 自定義會話管理
46.1. 預設策略的缺陷46.2. 記錄使用者名稱與ip46.3. 改造控制類46.4. 修改配置檔案47. 匹配URL地址
47.1. AntPathRequestMatcher47.2. RegexRequestMatcher48. 配置過濾器
48.1. 標準過濾器48.2. 在http中啟用標準過濾器48.3. 為自定義過濾器設定位置49. 監控會話過期
49.1. 實現原理49.2. 程式碼實現49.3. 目前實現的缺陷50. 多個登陸頁面
50.1. 未登入自動跳轉到對應的登入頁面50.2. 密碼出錯時返回對應頁面51. 角色繼承
51.1. 使用RoleHierarchyVoter51.2. 使用資料庫實現RoleHierarchy52. 設定方法攔截器IV. ACL篇
53. ACL基本操作
53.1. 準備資料庫和aclService
53.1.1. 為acl配置cache53.1.2. 配置lookupStrategy53.1.3. 配置aclService53.2. 使用aclService管理acl資訊53.3. 使用acl控制delete操作53.4. 控制使用者可以看到哪些資訊54. 管理acl
54.1. 管理多個domain類54.2. 動態授權與收回授權
54.2.1. 獲得物件的acl許可權54.2.2. 新增授權54.2.3. 收回授權55. acl自動提醒
55.1. 自動建立acl55.2. 自動刪除acl55.3. 根據id刪除aclV. 最佳實踐篇
56. 最簡控制檯
56.1. 平臺搭建56.2. 使用者登入56.3. 使用者資訊列表56.4. 新增使用者56.5. 修改使用者資訊56.6. 修改自己的密碼57. 使用者組控制檯
57.1. 新增對使用者組的支援57.2. 瀏覽使用者組57.3. 建立使用者組57.4. 修改使用者組A. 修改日誌B. 常見問題解答C. Spring Security-3.0.0.M1
C.1. Hello WorldC.2. Spring-ELC.3. RoleHierarchyC.4. Success HandlerC.5. REST下的許可權控制C.6. 管理會話同步D. 名稱空間
D.1. httpD.2. authentication-providerD.3. ldap-serverD.4. global-method-securityE. 資料庫表結構
E.1. UserE.2. GroupE.3. RememberMeE.4. ACLF. 異常G. 事件H. RBAC模型(轉載)
H.1. RBAC模型介紹H.2. 有關概念
H.2.1. 什麼是角色H.2.2. 角色與使用者組H.3. 基本模型RBAC0
H.3.1. RBAC0 模型的形式定義如下H.4. 角色分級模型RBAC1
H.4.1. 定義2:RBAC1 由以下內容確定H.5. 限制模型RBAC2
H.5.1. 定義3:H.6. 統一模型RBAC3H.7. 定義4H.8. 在ARBAC97中,包括三種元件H.9. RBAC模型的特點H.10. 基於party的模型H.11. 有關operationI. 認證流程
1. 一個簡單的HelloWorld
1.1. 配置過濾器1.2. 使用名稱空間1.3. 完善整個專案1.4. 執行示例2. 使用資料庫管理使用者許可權
2.1. 修改配置檔案2.2. 資料庫表結構3. 自定義資料庫表結構
3.1. 自定義表結構3.2. 初始化資料3.3. 獲得自定義使用者許可權資訊
3.3.1. 處理使用者登陸3.3.2. 檢驗使用者許可權4. 自定義登陸頁面
4.1. 實現自定義登陸頁面4.2. 修改配置檔案4.3. 登陸頁面中的引數配置4.4. 測試一下5. 使用資料庫管理資源
5.1. 資料庫表結構5.2. 初始化資料5.3. 實現從資料庫中讀取資源資訊
5.3.1. 需要何種資料格式5.3.2. 替換原有功能的切入點6. 控制使用者資訊
6.1. MD5加密6.2. 鹽值加密6.3. 使用者資訊快取6.4. 獲取當前使用者資訊7. 自定義訪問拒絕頁面8. 動態管理資源結合自定義登入頁面9. 中文使用者名稱10. 判斷使用者是否登入II. 保護web篇
11. 圖解過濾器
11.1. HttpSessionContextIntegrationFilter11.2. LogoutFilter11.3. AuthenticationProcessingFilter11.4. DefaultLoginPageGeneratingFilter11.5. BasicProcessingFilter11.6. SecurityContextHolderAwareRequestFilter11.7. RememberMeProcessingFilter11.8. AnonymousProcessingFilter11.9. ExceptionTranslationFilter11.10. SessionFixationProtectionFilter11.11. FilterSecurityInterceptor12. 管理會話
12.1. 新增監聽器12.2. 新增過濾器12.3. 控制策略
12.3.1. 後面的使用者禁止登陸12.3.2. 後登陸的將先登入的踢出系統13. 單點登入
13.1. 配置JA-SIG13.2. 配置Spring Security
13.2.1. 新增依賴13.2.2. 修改applicationContext.xml13.3. 執行配置了cas的子系統13.4. 為cas配置SSL
13.4.1. 生成金鑰13.4.2. 為jetty配置SSL13.4.3. 為tomcat配置SSL14. basic認證
14.1. 配置basic驗證14.2. 程式設計實現basic客戶端15. 標籤庫
15.1. 配置taglib15.2. authenticaiton15.3. authorize15.4. acl/accesscontrollist15.5. 為不同使用者顯示各自的登陸成功頁面16. 自動登入
16.1. 預設策略16.2. 持久化策略17. 匿名登入
17.1. 配置檔案17.2. 修改預設使用者名稱17.3. 匿名使用者的限制18. 防禦會話偽造
18.1. 攻擊場景18.2. 解決會話偽造19. 預先認證
19.1. 為jetty配置Realm19.2. 配置Spring Security20. 切換使用者
20.1. 配置方式20.2. 例項演示21. 通道安全
21.1. 設定通道安全21.2. 指定http和https的埠22. digest認證
22.1. 配置digest驗證22.2. 使用ajax實現digest認證22.3. 程式設計實現digest客戶端23. 通過LDAP獲取使用者資訊24. 通過OpenID進行登入
24.1. 配置24.2. 系統時間問題24.3. openid4java的處理流程25. 使用X509登入
25.1. 生成證照25.2. 配置伺服器使用雙向加密25.3. 配置X509認證26. 使用NTLM登入27. 使用JAAS機制28. 使用HttpInvoker29. 使用rmi30. 控制portal的許可權31. 儲存登入之前的請求32. 記錄操作日誌III. 內部機制篇
33. 保護方法呼叫
33.1. 控制全域性範圍的方法許可權33.2. 控制某個bean內的方法許可權33.3. 使用annotation控制方法許可權
33.3.1. 使用Secured33.3.2. 使用jsr25034. 許可權管理的基本概念
34.1. 認證與驗證34.2. SecurityContext安全上下文34.3. Authentication驗證物件35. Voter表決者
35.1. Voter表決者35.2. RoleVoter35.3. AuthenticatedVoter35.4. AbstractAclVoter36. 攔截器
36.1. 許可權配置資料來源36.2. 許可權管理器36.3. 後置呼叫管理器36.4. 臨時分配額外許可權37. 使用者資訊
37.1. UserDetails37.2. 使用角色繼承37.3. 為ACL新增角色繼承37.4. PasswordEncoder和SaltValue38. 整合jcaptcha39. 動態資源管理
39.1. 基本知識39.2. 讀取資源39.3. URL資源擴充套件點39.4. METHOD資源擴充套件點40. 擴充套件UserDetails
40.1. 實現UserDetails介面40.2. 實現UserDetailsService介面40.3. 修改配置檔案40.4. 測試執行41. 鎖定使用者42. 設定過濾器鏈43. 自定義過濾器44. 使用使用者組
44.1. 資料庫結構44.2. 修改配置檔案45. 在JSF中使用Spring Security
45.1. 修改過濾器支援forward45.2. 自定義登入頁面45.3. 顯示密碼錯誤資訊46. 自定義會話管理
46.1. 預設策略的缺陷46.2. 記錄使用者名稱與ip46.3. 改造控制類46.4. 修改配置檔案47. 匹配URL地址
47.1. AntPathRequestMatcher47.2. RegexRequestMatcher48. 配置過濾器
48.1. 標準過濾器48.2. 在http中啟用標準過濾器48.3. 為自定義過濾器設定位置49. 監控會話過期
49.1. 實現原理49.2. 程式碼實現49.3. 目前實現的缺陷50. 多個登陸頁面
50.1. 未登入自動跳轉到對應的登入頁面50.2. 密碼出錯時返回對應頁面51. 角色繼承
51.1. 使用RoleHierarchyVoter51.2. 使用資料庫實現RoleHierarchy52. 設定方法攔截器IV. ACL篇
53. ACL基本操作
53.1. 準備資料庫和aclService
53.1.1. 為acl配置cache53.1.2. 配置lookupStrategy53.1.3. 配置aclService53.2. 使用aclService管理acl資訊53.3. 使用acl控制delete操作53.4. 控制使用者可以看到哪些資訊54. 管理acl
54.1. 管理多個domain類54.2. 動態授權與收回授權
54.2.1. 獲得物件的acl許可權54.2.2. 新增授權54.2.3. 收回授權55. acl自動提醒
55.1. 自動建立acl55.2. 自動刪除acl55.3. 根據id刪除aclV. 最佳實踐篇
56. 最簡控制檯
56.1. 平臺搭建56.2. 使用者登入56.3. 使用者資訊列表56.4. 新增使用者56.5. 修改使用者資訊56.6. 修改自己的密碼57. 使用者組控制檯
57.1. 新增對使用者組的支援57.2. 瀏覽使用者組57.3. 建立使用者組57.4. 修改使用者組A. 修改日誌B. 常見問題解答C. Spring Security-3.0.0.M1
C.1. Hello WorldC.2. Spring-ELC.3. RoleHierarchyC.4. Success HandlerC.5. REST下的許可權控制C.6. 管理會話同步D. 名稱空間
D.1. httpD.2. authentication-providerD.3. ldap-serverD.4. global-method-securityE. 資料庫表結構
E.1. UserE.2. GroupE.3. RememberMeE.4. ACLF. 異常G. 事件H. RBAC模型(轉載)
H.1. RBAC模型介紹H.2. 有關概念
H.2.1. 什麼是角色H.2.2. 角色與使用者組H.3. 基本模型RBAC0
H.3.1. RBAC0 模型的形式定義如下H.4. 角色分級模型RBAC1
H.4.1. 定義2:RBAC1 由以下內容確定H.5. 限制模型RBAC2
H.5.1. 定義3:H.6. 統一模型RBAC3H.7. 定義4H.8. 在ARBAC97中,包括三種元件H.9. RBAC模型的特點H.10. 基於party的模型H.11. 有關operationI. 認證流程
相關文章
- 「SSM框架最新專案」搭建個人部落格例項講解教程SSM框架
- [臨時] 部落格密碼密碼
- Spring Boot Security配置教程Spring Boot
- LearnKu 部落格教程
- Spring Security詳解Spring
- 最簡單易懂的 Spring Security 身份認證流程講解Spring
- 部落格建站6 - 一文搞懂域名解析(保姆級教程和原理講解)
- Spring Boot 整合 Spring Security 入門案例教程Spring Boot
- 轉自 陳皓 部落格 《提高效率》
- VuePress 部落格優化之中文錨點跳轉問題Vue優化
- 部落格園美化教程
- 深入Spring Security-獲取認證機制核心原理講解Spring
- Spring Boot Security 詳解Spring Boot
- Spring Security 快速瞭解Spring
- Spring Boot+Spring Security+Thymeleaf 簡單教程Spring Boot
- 史上最簡單的Spring Security教程(三十六):RememberMeAuthenticationFilter詳解SpringREMFilter
- 批量匯出 CSDN 部落格並轉為 hexo 部落格風格Hexo
- 【詳解】Spring Security 之 SecurityContextSpringContext
- Spring Security 之 rememberMe 自動登入SpringREM
- 如何轉載CSDN部落格
- 深入Spring Security魔幻山谷-獲取認證機制核心原理講解(新版)Spring
- 部落格園cnblog部落格遷移到Hexo(提供格式轉換)Hexo
- Spring Security系列教程之一簡介Spring
- 專欄丨Spring Security系列教程之Spring Security的四種許可權控制方式Spring
- lightroom中文基礎教程:色調曲線功能講解OOM
- 部落格園主題美化教程
- Spring Security(三)--核心配置解讀Spring
- 部落格轉移回csdn了。
- 部落格園皮膚-我的部落格園皮膚設定教程
- Spring SecuritySpring
- Spring Security教程 Vol 9. AccessDecisionManager元件介紹Spring元件
- Spring Security教程 Vol 8. AccessDecisionVoter元件介紹Spring元件
- Spring Boot —— Spring SecuritySpring Boot
- Spring Security原始碼分析八:Spring Security 退出Spring原始碼
- 部落格園openlivewriter安裝配置教程
- Hexo+Github部落格搭建完全教程HexoGithub
- 關於部落格園裝修教程
- [文件教程]onethink視訊教程之部落格製作
- 部落格建站7 - hexo部落格獨立伺服器如何自動部署?Hexo伺服器