我正在使用VS2005,並且在站點地圖選項卡上遇到了一些問題。ASP.NET站點提供商sitemap選項卡不顯示
我在ASP.NET配置工具中分配了2個角色,併爲每個用戶分配了一個角色。
我的登錄正常工作,並且訪問控制正在工作。如果我沒有登錄,我嘗試訪問角色受限頁面,它會將我重定向到登錄頁面。
但是,當我登錄時,有些網站節點會在我用正確的特權用戶登錄時顯示,但它仍不會顯示。
前登錄:
登錄後:
從截圖上面,我的節點僅表現在兩個登錄和未登錄Home
我應該看數據庫管理選項卡,它不受限制爲admin01
。
下面是我Web.config
代碼片段:
<system.web>
<authentication mode="Forms" />
<roleManager enabled="true" />
<pages styleSheetTheme="DataWebControls" />
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
description="Default SiteMap provider."
type="System.Web.XmlSiteMapProvider"
siteMapFile="Web.sitemap"
securityTrimmingEnabled="true" />
</providers>
</siteMap>
<compilation debug="true"/>
</system.web>
如果我從<siteMap></siteMap>
刪除整個代碼,我的節點將顯示爲正常:
我不期待一個完美的解決方案,因爲我不知道我提供的信息是否足夠,但我會很感激任何幫助。
如果需要更多信息,請告訴我,我會提供更多信息。
謝謝
編輯:新增Web.sitemap
代碼片段:
<siteMapNode url="/Project/Default.aspx"
title="Home" description="Home">
<siteMapNode title="Database Management"
description="Database tab">
<siteMapNode url="/Project/Database/Employee.aspx"
title="Employee"
description="" />
<siteMapNode url="/Project/Databaase/Customer.aspx"
title="Customer"
description="" />
<siteMapNode url="/Project/Database/Goods.aspx"
title="Goods"
description="" />
<siteMapNode url="/Project/Database/Transactions.aspx"
title="Past Transactions"
description="" />
</siteMapNode>
</siteMapNode>
編輯:在文件夾中添加/Project/Database
Access role screenshot
:
附加信息:
即使沒有創建的訪問規則,用戶不與任何角色分配,則Database
節點仍未顯示
看來我們的web.sitemap文件配置不正確。你能否請編輯你的文章,並添加你的web.sitemap,並添加一些信息,你在項目中定義了什麼樣的角色 - thx –
如果sitemab選項卡不包含在web.config中,我的站點地圖可以顯示 – gymcode