国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET2.0導航功能之配置會員和角色

2024-07-10 12:55:06
字體:
來源:轉載
供稿:網友
    在本文中,我們將主要探討asp.net 2.0的會員、角色和配置問題

  一、 簡介

  在本文中,我們將主要探討asp.net 2.0的會員、角色和配置問題。asp.net中的會員系統提供了一個可編程api用于創建和管理用戶賬戶,而其中的角色部分使開發者能夠定義一組角色并把用戶與角色相關聯。典型地,一個提供用戶賬戶的網站都具有只為某些用戶、認證用戶或屬于特定角色的用戶所存取的內容部分。

  例如,一個web站點可能有一組頁面-它允許一個信任用戶編輯該web站點的內容或管理已有用戶。不是簡單地試圖隱藏這個頁面并且希望沒有人偶然在瀏覽它時遇到麻煩,或硬編碼授權而僅允許單個用戶;一種更為強壯和安全的方式是定義一個管理員角色-然后賦給他一組選出來的信任用戶。然后,這些管理web頁面被進一步配置以允許僅對那些具有管理員角色的用戶可以存取。同樣,該web站點可能包含一組只有認證用戶可以存取的頁面。

  既然該站點的某些部分可能只能為某些用戶所存取,那么,這就使得我們在站點導航時有點進退兩難。我們是否要包括那些只有授權用戶才能在web站點的站點地圖中存取的頁面?如果我們這樣做了,那么所有的用戶將會在該站點的菜單或樹視圖中看到受限制的頁面。為什么不能向存取它們的用戶顯示指向這些頁面的鏈接呢?如果我們從站點地圖上刪除了這些受限制的頁面,那么那些來觀看這些頁面的授權用戶就無法容易地導航到它們,因為它們不是站點地圖的一部分,并因此不會出現在該站點的樹視圖或菜單中!

  值得慶幸的是,asp.net 2.0的站點導航提供了一種稱為安全性修剪的特性。當用支持安全性修剪的功能獲得站點地圖信息時,只有那些當前登錄的用戶具有訪問授權的站點地圖結點才是可用的。這意味著,站點的treeview或menu將僅包含為當前登錄用戶可存取的那些部分。要想了解怎樣配置站點導航以支持安全性修剪,請接著往下讀!

  二、 配置asp.net 2.0的會員和(可選)角色

  既然站點導航安全性修剪把站點地圖數據基于訪問頁面的用戶和為站點地圖中的頁面定義的授權設置,那么在我們可以分析安全性修剪之前,你必須首先配置你的web站點以使用asp.net 2.0的會員服務功能。(你也可以配置該站點來使用角色,并使用基于角色的授權優點,但是這對于展示安全性修剪概念并不作要求。)至于詳細討論怎樣配置一站點以使用會員和角色已經超出了本文的范圍。

  在本文最后的下載中包括一個可用實例-它實現為一個web站點安全地修剪站點地圖。該站點實現了會員和角色。如果你不想在一個新的web站點上花費時間來安裝會員和角色特性的話,你可以使用它。具體地說,在本文后面可下載的web站點中包含兩個角色-管理員(administrator)和測試員(tester),并有四個用戶:

  ·superman,其角色為管理員和測試者

  ·admin,其角色為管理員

  ·mr.tester,其角色為測試者

  ·average user,沒有任何角色

  而且,我在該工程中有三個文件夾:admin,tester和authusersonly。前兩個文件夾已經被配置僅允許具有管理員和測試者角色的用戶存取。authusersonly文件夾被限制僅用于認證的用戶。

  三、 配置站點導航以使用安全性修剪

  默認地,站點導航并不使用安全性修剪。不管什么用戶正在訪問站點,并且不管定義什么樣的授權規則,當每個用戶通過一treeview或菜單web控件來觀看站點地圖數據時,他都被可以看到站點地圖中的所有部分。通過啟動安全性修剪,站點導航系統將自動地基于當前登錄的用戶和為站點地圖中的<sitemapnode>元素所參考的頁面的授權而限制顯示結果。

  可以使用下列模式通過web.config文件來配置站點導航設置:

<sitemap defaultprovider="xmlsitemapprovider" enabled="true">
<providers>
<add name="xmlsitemapprovider"
  description="default sitemap provider."
  type="system.web.xmlsitemapprovider"
  sitemapfile="sitemapfilename"
  securitytrimmingenabled="true" />
</providers>
</sitemap>


  回想一下在本系列第一部分中的討論-站點導航系統使用了提供者模型。這個模型提供給開發者一些良好定義的公共api,但是允許(如果需要的話)定制內部實現細節。缺省地,站點導航特點使用xmlsitemapprovider-它從xml格式化的站點地圖文件web.sitemap中獲得站點地圖信息。你可以通過web.config文件來改變所使用的提供者,或修改針對缺省提供者的缺省設置。

  為了定制缺省提供者的設置,只要簡單地添加一新的提供者-它使用與缺省提供者(system.web.xmlsitemapprovider)相同的類型來定制所需要的設置。上面顯示的代碼片段展示了定制兩個xmlsitemapprovider的設置:

  ·sitemapfile設置指定由提供者所使用的站點地圖文件的文件名;缺省地,這個值是web.sitemap。你如果喜歡,可以在此定制文件名。但是,我鼓勵你確保站點地圖文件名以.sitemap擴展名結尾,因為缺省地這個擴展名被asp.net引擎保護,從而阻止web訪問者觀看站點地圖文件。

  ·securitytrimmingenabled設置顯示是否使用安全性修剪。為了使用安全性修剪,可以把它設置為true,如上面所示。

商業源碼熱門下載www.html.org.cn

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆林市| 潜江市| 临泉县| 民勤县| 琼中| 柳林县| 白玉县| 灵寿县| 阿克陶县| 瑞安市| 山阴县| 松原市| 济阳县| 南安市| 和静县| 栾川县| 哈密市| 毕节市| 滕州市| 美姑县| 西和县| 天津市| 吉林省| 仪征市| 营山县| 宜宾市| 安化县| 通城县| 滦南县| 兴义市| 德清县| 哈巴河县| 荆门市| 交口县| 温州市| 平和县| 大名县| 囊谦县| 嵩明县| 云阳县| 崇仁县|