1

我正在使用ASP.NET 登录控件表单身份验证来获取 ASP.NET Web 应用程序的成员资格/凭据。我正在使用站点地图进行站点导航。

我使用 SiteMapDataSource 填充了 ASP.NET TreeView 和 Menu 导航控件。但是非管理员用户可以看到仅限管理员的页面。


凯文庞写道:

我不确定这个问题与您的其他问题有何不同……

另一个问题涉及分配和维护权限。

这个问题只涉及导航的呈现。特别是带有站点地图数据源的 TreeView 和 Menu 控件。

<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" />
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="False" />

尼古拉斯写道:

在站点地图中添加 role="SomeRole"

那只处理显示问题吗?还是强制执行此类页面权限?

4

3 回答 3

1

securityTrimmingEnabled="true" 适用于具有配置文件限制权限的内部页面,您还可以在站点地图中添加 role="SomeRole" 以覆盖显示机制,如果您有外部站点的菜单项,这很有用。

于 2008-08-29T10:51:27.343 回答
1

我必须在我的 web.config 文件中将 securityTrimmingEnabled 设置为“true”。

<?xml version="1.0"?>
<configuration>
    ...
    <system.web>
        ...
        <siteMap defaultProvider="default">
            <providers>
                <clear/>
                <add name="default"
                    type="System.Web.XmlSiteMapProvider"
                    siteMapFile="web.sitemap"
                    securityTrimmingEnabled="true"/>
            </providers>
        </siteMap>
        ...
    </system.web>
    ...
</configuration>
于 2008-08-28T21:04:47.503 回答
1

我不确定这个问题与您的其他问题有何不同,但无论如何我都会尝试回答。

如果您想要有关如何实现基于角色的身份验证的教程,请查看4GuysFromRolla中的教程。

于 2008-08-28T21:06:23.193 回答