日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在.net 中依据页的角色验证方式产生相匹配的菜单

發(fā)布時間:2025/3/13 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在.net 中依据页的角色验证方式产生相匹配的菜单 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

看了很多人都是自己程序獲得用戶的角色權(quán)限,再判斷并編寫相應(yīng)的功能菜單,其實.net 中可以允許開發(fā)者自己拼合這些功能;
廢話不說,網(wǎng)上也有很多這樣的資料,但我感覺說教太多,自己來簡單歸納一下方便給大家!

注:站點必須為asp.net 標(biāo)準(zhǔn)驗證方式。自定義cookie認(rèn)證,自定義Session方式的可以一邊涼快去了!

具體條件
???1、為站點準(zhǔn)備SiteMap
??????在站點根目錄建立一個Web.sitemap 配置文件,例:

<?xml?version="1.0"?encoding="utf-8"??>
<siteMap?xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"?>
????
<siteMapNode?url="~/Default.aspx"?title="首頁"??description=""?>
????????
<siteMapNode?url="~/Register.aspx"?title="注冊"??description=""?/>
????????
<siteMapNode?url="~/Login.aspx"?title="登陸"??description=""?/>
??????
<siteMapNode?url="~/Album/Default.aspx"?title="個人管理"?description="">
????????
<siteMapNode?url="~/Album/AlbumManager.aspx"?title="相冊管理"?description=""?/>
????????
<siteMapNode?url="~/Album/ImageUploader.aspx"?title="圖片上傳"?description=""?/>
????????
<siteMapNode?url="~/Album/ImageManager.aspx"?title="圖片管理"?description=""?/>
??????
</siteMapNode>
????
</siteMapNode>
</siteMap>

??? 注意:第一級節(jié)點只能有1個,其他節(jié)點就隨意了,可以把全站所有有關(guān)的頁都編寫進(jìn)來,也可以只寫有權(quán)限控制相關(guān)的頁,這個是可以繼承的。
???安裝有MSDN2005的朋友可以看此內(nèi)容:ASP.NET 站點地圖
??????ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/6b85a558-1df8-44cf-bea6-62e61bcc8d20.htm
??
???2、為文件或目錄設(shè)置訪問權(quán)限
??????在相關(guān)目錄的Web.config 中設(shè)置就可以,跟平時設(shè)置一樣

<system.web>
??????
<authorization>
????????
<!--?當(dāng)前目錄由Album?角色的用戶才可以訪問?-->
????????
<allow?roles="Album"?/>
????????
<deny?users?="*"/>
??????
</authorization>
????
</system.web>
??
??
<location?path="ImageUploader.aspx">
????
<system.web>
??????
<authorization>
????????
<!--?ImageUploader.aspx?只能帶Blog角色的用戶才可以訪問?-->
????????
<allow?roles="Blog"/>
????????
<deny?users?="*"/>
??????
</authorization>
????
</system.web>
? </location>

???3、在根Web.config 中啟用站點地圖角色過濾配置,想省事可以直接復(fù)制粘貼
??<system.web>
????
<siteMap?defaultProvider="XmlSiteMapProvider"?enabled="true">
??????
<providers>
????????
<add?name="XmlSiteMapProvider"
??????????description
="Default?SiteMap?provider."
??????????type
="System.Web.XmlSiteMapProvider?"
??????????siteMapFile
="Web.sitemap"
??????????securityTrimmingEnabled
="true"?/>
??????
</providers>
????
</siteMap>
??
</system.web>
就這樣就OK了!測試一把~~!

???1、拖一個Menu 控件到頁面上,并新建一個數(shù)據(jù)源類型為“站點地圖”類型,名字隨意。點OK就配置好了!

????測試用例1:(沒有登陸以前,只顯示根目錄下誰都可以訪問的文件
????
???測試用例2:(登陸后,具備Album 角色但不具備Blog 角色能力
???
???測試用例3:(登陸后,具備Album角色也具備Blog 角色
???

完成收工,回家了,顯然這樣的方式,大量減少的代碼,而且把頁面文件或目錄跟角色綁定起來,實在是非常方便的。
還想多說點,但MM在家病倒了,所以明天再說吧!


轉(zhuǎn)載于:https://www.cnblogs.com/SUNBOY/archive/2006/10/11/526587.html

總結(jié)

以上是生活随笔為你收集整理的在.net 中依据页的角色验证方式产生相匹配的菜单的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。