這是一個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. 每個用戶登錄后,可以看到一個聯系人列表。例如,
marissa's Contacts
Add
說明:用戶沒有權限訪問的聯系人信息,將不會顯示。
2. 用戶可以增加新的聯系人信息。
3. 如果有刪除權限,用戶可以看到在聯系人后面有一個“Del”鏈接。用戶可以點擊這個鏈接來刪除某個聯系人信息。
4. 如果有管理權限,用戶可以看到在聯系人后面有一個“Admin Permission”鏈接。用戶可以點擊這個鏈接來管理訪問這個聯系人的權限。例如,
Administer Permissions
sample.contact.Contact@26807f: Id: 1; Name: John Smith; Email: john@somewhere.com
-R--- [2] dianne
|
Del
|
-RW-D [22] peter
|
Del
|
A---- [1] marissa
|
Del
|
Add Permission Manage
說明:每一行記錄包含有3列。
第一列表示權限,例如,“-RW-D
”表示可讀、可寫、可刪除。
第二列也表示權限,但它是以類似unix權限的數字表達。例如,“[22]”, 表示可讀、可寫、可刪除。
第三列是用戶名稱。
每一行記錄后面都有一個“Del”鏈接。點擊這個鏈接,可以刪除掉指定用戶對這個聯系人信息的權限。
5. 用戶可以為某個聯系人信息添加權限。例如,
Add Permission
說明:權限是動態添加的。例如,上圖中給用戶scott增加了讀聯系人John的權限。那么scott馬上就可以看到聯系人John的信息了。
---------------------------------------------------------------------------------------------------------------------------------
說人之短,乃護己之短。夸己之長,乃忌人之長。皆由存心不厚,識量太狹耳。能去此弊,可以進德,可以遠怨。
http://m.tkk7.com/szhswl
------------------------------------------------------------------------------------------------------ ----------------- ---------
posted on 2007-12-19 19:43
宋針還 閱讀(382)
評論(0) 編輯 收藏 所屬分類:
ACEGI