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

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

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

    控制頁面可見性

    可能存在一些情況其中希望允許用戶知道頁面的存在性即使拒絕用戶訪問該頁面這樣可以提供一個鏈接給用戶但當他們單擊該鏈接時在他們可以查看該頁面之前提示作為具有足夠特權的用戶登錄為了實現這一點可以將一個roles屬性(參見下面代碼中添加陰影的行)添加到websitemap文件這確保某些用戶可以看到指定頁面的鏈接即使該用戶不能夠查看頁面自身的內容下面是一個示例

 

<siteMapNode title=Administration url=Admin/Adminaspx

                        roles=ReporterOwnerManagerAdministrator>

         <siteMapNode title=Edit News url=Admin/EditNewsaspx

                             description=Edit club news

                             roles=ReporterOwnerManagerAdministrator />

      <siteMapNode title=Schedule Match url=Admin/ScheduleMatchaspx

                  description=Schedule a Match

                             roles=ManagerOwner/>

    注意Adminaspx頁面上的roles屬性聲明Reporters   Owners   Managers和Administrators應該知道Adminaspx頁面的存在性將該頁面與ScheduleMatchaspx頁面進行對比您將看到只有Managers或Owners可以查看能夠調度比賽的鏈接

    如果作為Christi登錄到站點則是Reporter角色的成員因此即使取消對所有管理頁面的訪問仍然可以看到Adminaspx和EditNewsaspx頁面的鏈接但不會看到ScheduleMatchasp頁面的鏈接

    因為Webconfig文件和websitemap文件中的roles屬性合作控制可見性和訪問理解它們如何合作的最佳方法是通過示例來查看它們!

    對於這個試一試練習確保正在使用Wrox United代碼的第章版本出於這個示例的目的稍微修改了提供給這個示例的代碼

    ()首先查看websitemap文件中的代碼該文件包含與用於Wrox United應用程序中相同的代碼下面是從該文件中提取的代碼並且突出顯示了roles屬性的使用

 

<siteMapNode title=Fan Club url=FanClubaspx>

         <siteMapNode title=Add Match Report url=FanClub/FanClubMatchReportaspx

                             description=Add a match report

                             roles=FanClubMember />

      <siteMapNode title=Upload Pictures url=FanClub/FanClubPicturesaspx

                  description=Upload pictures or video of a match

                  roles=FanClubMember />

       </siteMapNode>

<siteMapNode title=Administration url=Admin/Adminaspx

                        roles=ReporterOwnerManagerAdministrator>

         <siteMapNode title=Edit News url=Admin/EditNewsaspx

                             description=Edit club news

                             roles=ReporterOwnerManagerAdministrator />

      <siteMapNode title=Schedule Match url=Admin/ScheduleMatchaspx

                  description=Schedule a Match

                             roles=ManagerOwner/>

      <siteMapNode title=Edit Squad url=Admin/EditSquadaspx

                  description=Edit the players in the squad

                  roles=Owner/>

      <siteMapNode title=Update Score url=Admin/MatchScoreaspx

                  description=Edit the score for a match in progress

                  roles=Reporter/>

      <siteMapNode title=Match Report url=Admin/MatchReportaspx

                  description=Upload or edit a match report

                  roles=Reporter />

      <siteMapNode title=Shop url=Admin/UpdateProductsaspx

                             description=Update products

                             roles=Administrator />

      <siteMapNode title=User Admin url=Admin/UserAdminaspx

                             description=Administer users

                             roles=Administrator />

    </siteMapNode>

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


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