我正在使用ASP.NET Login Controls和Forms Authentication获取ASP.NET Web应用程序的成员资格/凭据。我正在使用site map进行网站导航。
我使用SiteMapDataSource填充了ASP.NET TreeView和Menu导航控件。但是,非管理员用户可以看到禁止管理员的页面。
Kevin Pang 写道:
我不确定这个问题是怎么回事 与您的other question ...
不同
另一个问题涉及分配和维护权限。
这个问题只涉及导航的介绍。特别是具有站点地图数据源的TreeView和Menu控件。
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" />
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="False" />
Nicholas 写道:
在站点地图中添加role =“SomeRole”
这只能处理显示问题吗?或者强制执行此类页面权限?
答案 0 :(得分: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>
答案 1 :(得分:1)
我不确定这个问题与你的other question有什么不同,但无论如何我都会尝试回答它。
如果您需要有关如何实施基于角色的身份验证的教程,请查看4GuysFromRolla中的一个。
答案 2 :(得分:1)
securityTrimmingEnabled =“true”适用于具有限制权限的配置文件的内部页面,您还可以在站点地图中添加role =“SomeRole”以覆盖显示机制,如果您有外部站点的菜单项,这将非常有用。