szhswl
          宋針還的個人空間

          這是一個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 securityWeb請求安全)――這個“/secureURI路徑被使用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

          id

          Name

          Email

          1

          John Smith

          john@somewhere.com

          Del

          Admin Permission

          2

          Michael Citizen

          michael@xyz.com

           


           


          3

          Joe Bloggs

          joe@demo.com

          Del

           


          4

          Karen Sutherland

          karen@sutherland.com

          Del

          Admin Permission

          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

          Contact:

          sample.contact.Contact@1787005: Id: 1; Name: John Smith; Email: john@somewhere.com

           


          Recipient:

           


          Permission:

           


          說明:權限是動態添加的。例如,上圖中給用戶scott增加了讀聯系人John的權限。那么scott馬上就可以看到聯系人John的信息了。


          ---------------------------------------------------------------------------------------------------------------------------------
          說人之短,乃護己之短。夸己之長,乃忌人之長。皆由存心不厚,識量太狹耳。能去此弊,可以進德,可以遠怨。
          http://www.aygfsteel.com/szhswl
          ------------------------------------------------------------------------------------------------------ ----------------- ---------
          posted on 2007-12-19 19:43 宋針還 閱讀(389) 評論(0)  編輯  收藏 所屬分類: ACEGI
          主站蜘蛛池模板: 华亭县| 西昌市| 芒康县| 鄂托克旗| 石景山区| 汽车| 新田县| 图片| 镇雄县| 香河县| 漳浦县| 大悟县| 隆回县| 衡阳县| 桐城市| 兴安盟| 伽师县| 迭部县| 乐昌市| 蕲春县| 张家口市| 历史| 来凤县| 睢宁县| 湟中县| 武隆县| 连江县| 丹东市| 澄迈县| 科技| 恩施市| 道孚县| 宝坻区| 沙洋县| 稻城县| 金昌市| 平安县| 宁陕县| 东城区| 定兴县| 承德市|