熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET入門教程 11.3 配置頁面級別的授權[6]

2013-11-13 12:23:18  來源: .NET編程 

    操作回顧

    這個示例突出顯示了根據當前業務情況需求保持更新websitemap和Webconfig文件的相當微妙的特性如果希望允許用戶匿名浏覽站點常見的配置決策是在用戶登錄時提示他們然後顯示他們希望單擊的鏈接但是在允許他們查看該頁面之前迫使他們進行身份驗證

    在這個示例中己經介紹了授權的設置將控制哪些鏈接可用於每個用戶角色然後可使用websitemap文件向用戶顯示額外的鏈接鏈接的內容為用戶沒有權限訪問的內容並且用於指示存在一個工具(在這種情況下是Admin部分中的Update Products工具)但在該鏈接起作用之前用戶需要作為具有足夠特權的用戶登錄

    接下來查看代碼中最為重要的部分根據站點上Admin文件夾的Webconfig文件代碼中添加陰影的行指定只有管理員可以添加或更新產品

 

<location path=UpdateProductsaspx>

    <systemweb>

      <authorization>

        <allow roles=Administrator />

      </authorization>

    </systemweb>

  </location>

將這段代碼與在示例的最後一部分中建立的siteMapNode的附加內容進行比較:

      <siteMapNode title=Shop url=Admin/UpdateProductsaspx

                                               description=Update products

                                               roles=Administrator Reporter />

   </siteMapNode>

    這個特殊的組合將導致記者能夠看到鏈接但不能夠訪問鏈接的內容

    如果相反的情況為真並且在Webconfig文件中的授權級別包含比websitemap文件更多的角色該授權將獲得優先級因此當改變EditSquadaspx頁面的權限並且作為Reporter登錄時該鏈接將出現在導航菜單中並且可以訪問該頁面

 

<location path=EditSquadaspx>

                   <systemweb>

                            <authorization>

                                     <allow roles=Owner Reporter />

                            </authorization>

                   </systemweb>

         </location>

     ASPNET 入門教程完整版

[]  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15797.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.