szhswl
          宋針還的個人空間

          這是一個Acegi官方的例子。它以聯(lián)系人的管理為例子,說明如何使用Acegi作權(quán)限控制。這個例子包含在acegi的包里面。下載地址:http://prdownloads.sourceforge.net/acegisecurity/acegi-security-0.8.3.zip?download

          聯(lián)系人管理說明了下列中心的Acegi安全控制能力:

          • Role-based security(基于角色的安全)――每個責(zé)任人都是某個角色的一員。而角色被用來限制對某些安全對象的訪問。
          • Domain object instance security(域?qū)ο髮?shí)例安全)――合同,這個系統(tǒng)里的主要域?qū)ο螅瑩碛幸粋€訪問控制列表(ACL),用來指明誰允許讀、管理和刪除對象。
          • Method invocation security(方法調(diào)用安全)――這個 ContactManager服務(wù)層對象 包含一些受保護(hù)的和公開的方法。
          • Web request securityWeb請求安全)――這個“/secureURI路徑被使用Acegi安全保護(hù),使得沒有ROLE_USER 角色的用戶無法訪問。.
          • Security unaware application objects(保護(hù)未知的應(yīng)用對象)――受保護(hù)的對象與Acegi之間沒有明顯的耦合或契約,所以它們沒有察覺到安全是由Acegi 提供的。*
          • Security taglib usage(安全標(biāo)簽庫使用)――所有的JSP使用Acegi 安全標(biāo)簽庫來封裝安全信息。*
          • Fully declarative security(完全聲明式的安全)――每一個安全方面特性都是在application context里面使用標(biāo)準(zhǔn)的Acegi安全對象來配置的。 *
          • Database-sourced security data(支持?jǐn)?shù)據(jù)庫來源的安全數(shù)據(jù))――所有的用戶、角色和ACL信息都可以從一個兼容JDBC的內(nèi)存數(shù)據(jù)庫獲得。
          • Integrated form-based and BASIC authentication(集成基于表單和BASIC驗證)―― 任何BASIC驗證頭部被檢測以及作為驗證使用。默認(rèn)使用基于表單的普通交互式驗證。
          • Remember-me services(記住我的服務(wù))―― Acegi安全的插件式的“remember-me 策略被演示。在登錄表單里有一個相關(guān)的選擇框與之對應(yīng)。

           

              聯(lián)系人管理的業(yè)務(wù)功能描述:

                        1. 每個用戶登錄后,可以看到一個聯(lián)系人列表。例如,

          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

          說明:用戶沒有權(quán)限訪問的聯(lián)系人信息,將不會顯示。

                       2. 用戶可以增加新的聯(lián)系人信息。

                       3. 如果有刪除權(quán)限,用戶可以看到在聯(lián)系人后面有一個“Del”鏈接。用戶可以點(diǎn)擊這個鏈接來刪除某個聯(lián)系人信息。

                       4. 如果有管理權(quán)限,用戶可以看到在聯(lián)系人后面有一個“Admin Permission”鏈接。用戶可以點(diǎn)擊這個鏈接來管理訪問這個聯(lián)系人的權(quán)限。例如,

          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列。

          第一列表示權(quán)限,例如,“-RW-D”表示可讀、可寫、可刪除。

          第二列也表示權(quán)限,但它是以類似unix權(quán)限的數(shù)字表達(dá)。例如,“[22], 表示可讀、可寫、可刪除。

          第三列是用戶名稱。

          每一行記錄后面都有一個“Del”鏈接。點(diǎn)擊這個鏈接,可以刪除掉指定用戶對這個聯(lián)系人信息的權(quán)限。

                       5. 用戶可以為某個聯(lián)系人信息添加權(quán)限。例如,

          Add Permission

          Contact:

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

           


          Recipient:

           


          Permission:

           


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


          ---------------------------------------------------------------------------------------------------------------------------------
          說人之短,乃護(hù)己之短。夸己之長,乃忌人之長。皆由存心不厚,識量太狹耳。能去此弊,可以進(jìn)德,可以遠(yuǎn)怨。
          http://www.aygfsteel.com/szhswl
          ------------------------------------------------------------------------------------------------------ ----------------- ---------
          posted on 2007-12-19 19:43 宋針還 閱讀(385) 評論(0)  編輯  收藏 所屬分類: ACEGI
          主站蜘蛛池模板: 孟州市| 吴江市| 合作市| 麟游县| 黄龙县| 辽宁省| 周至县| 沁源县| 萍乡市| 洞口县| 旬邑县| 剑阁县| 金川县| 西昌市| 永吉县| 鹿泉市| 云安县| 鸡西市| 金溪县| 靖宇县| 德江县| 大城县| 镇安县| 绍兴县| 偃师市| 韩城市| 伊吾县| 大同市| 阜新市| 大邑县| 沿河| 平邑县| 青州市| 航空| 杭锦旗| 临清市| 扎兰屯市| 建平县| 陕西省| 白城市| 中江县|