acegi-security-sample-contacts-filter例子學習(一)
這是一個
Acegi
官方的例子。它以聯系人的管理為例子,說明如何使用
Acegi
作權限控制。這個例子包含在
acegi
的包里面。下載地址:
http://prdownloads.sourceforge.net/acegisecurity/acegi-security-0.8.3.zip?download。
聯系人管理說明了下列中心的Acegi安全控制能力:
- Role-based security (基于角色的安全) ――每個責任人都是某個角色的一員。而角色被用來限制對某些安全對象的訪問。
- Domain object instance security (域對象實例安全) ――合同,這個系統里的主要域對象,擁有一個訪問控制列表( ACL ),用來指明誰允許讀、管理和刪除對象。
-
Method invocation security
(方法調用安全)――
這個
ContactManager
服務層對象 包含一些受保護的和公開的方法。 -
Web request security
(
Web
請求安全)
――這個“
/secure
” URI 路徑被使用 Acegi 安全保護,使得沒有ROLE_USER
角色的用戶無法訪問。 . - Security unaware application objects (保護未知的應用對象) ――受保護的對象與 Acegi 之間沒有明顯的耦合或契約,所以它們沒有察覺到安全是由 Acegi 提供的。 *
- Security taglib usage (安全標簽庫使用) ――所有的 JSP 使用 Acegi 安全標簽庫來封裝安全信息。 *
- Fully declarative security( 完全聲明式的安全 ) ――每一個安全方面特性都是在 application context 里面使用標準的 Acegi 安全對象來配置的。 *
- Database-sourced security data (支持數據庫來源的安全數據) ――所有的用戶、角色和 ACL 信息都可以從一個兼容 JDBC 的內存數據庫獲得。
- Integrated form-based and BASIC authentication (集成基于表單和 BASIC 驗證)―― 任何 BASIC 驗證頭部被檢測以及作為驗證使用。默認使用基于表單的普通交互式驗證。
- Remember-me services (記住我的服務)―― Acegi 安全的插件式的“ remember-me ” 策略被演示。在登錄表單里有一個相關的選擇框與之對應。
聯系人管理的業務功能描述:
1.1. 每個用戶登錄后,可以看到一個聯系人列表。例如,
marissa's Contacts
id |
Name |
|
||
1 |
John Smith |
john@somewhere.com |
||
2 |
Michael Citizen |
michael@xyz.com |
|
|
3 |
Joe Bloggs |
joe@demo.com |
|
|
4 |
Karen Sutherland |
karen@sutherland.com |
說明:用戶沒有權限訪問的聯系人信息,將不會顯示。
2.2. 用戶可以增加新的聯系人信息。
3.3. 如果有刪除權限,用戶可以看到在聯系人后面有一個“ Del ”鏈接。用戶可以點擊這個鏈接來刪除某個聯系人信息。
4.4. 如果有管理權限,用戶可以看到在聯系人后面有一個“ Admin Permission ”鏈接。用戶可以點擊這個鏈接來管理訪問這個聯系人的權限。例如,
Administer Permissions
sample.contact.Contact@26807f: Id: 1; Name: John Smith; Email: john@somewhere.com
|
|
|
|
|
說明:每一行記錄包含有 3 列。
第一列表示權限,例如,“
-RW-D
”表示可讀、可寫、可刪除。
第二列也表示權限,但它是以類似 unix 權限的數字表達。例如,“ [22] ” , 表示可讀、可寫、可刪除。
第三列是用戶名稱。
每一行記錄后面都有一個“ Del ”鏈接。點擊這個鏈接,可以刪除掉指定用戶對這個聯系人信息的權限。
5.5. 用戶可以為某個聯系人信息添加權限。例如,
Add Permission
Contact: |
sample.contact.Contact@1787005: Id: 1; Name: John Smith; Email: john@somewhere.com |
|
Recipient: |
|
|
Permission: |
|
|
posted on 2006-09-01 13:44 Binary 閱讀(636) 評論(0) 編輯 收藏 所屬分類: Acegi