我滾動我自己的SiteMapProvider繼承System.Web.XmlSiteMapProvider
。XmlSiteMapProvider如何檢查用戶是否處於指定角色?
我想重寫檢查用戶是在的SiteMapNode的財產roles
指定角色的邏輯:
<siteMapNode url="Add.aspx?type=user" title="Add user" roles="admin" />
我怎麼能這樣做? XmlSiteMapProvider調用哪個類的成員來檢查securityTrimmingEnabled="true"
?
不幸的是,我的問題在一段時間內沒有吸引任何用戶,所以我不得不自己找到解決方案,幸運的是做到了。你不能提到我是同時做的,單一的答案也是我的。因爲接受自己的答案沒有聲譽,我很高興接受你的一個:)謝謝! – abatishchev 2010-05-22 15:23:48
@aba - 實際上,我沒有注意到OP和答案來自同一個人,只是指導可以更清楚一點。很高興你知道了,很高興我能幫忙,如果我做到了。 – 2010-05-22 15:36:19
好吧,我可以重寫'IsAccessibleToUser'來應用自己的邏輯來檢查。但是*原* * IsAccessibleToUser如何工作?反射器表明它檢查'context.User.IsInRole(role)'。你知道如何設置角色到'IPrincipal'嗎? – abatishchev 2010-05-23 13:12:55