如何根据用户权限过滤具有站点地图数据源的 TreeView 和 Menu 控件的节点?

发布于 2024-07-04 02:17:50 字数 1267 浏览 7 评论 0原文

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

我有使用 SiteMapDataSource 填充的 ASP.NET TreeView 和菜单导航控件。 但仅限管理员访问的禁区页面对非管理员用户可见。


Kevin Pang 写道:

我不知道这个问题有什么意义 与您的其他不同问题...

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

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

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

尼古拉斯写道:

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

是否仅处理显示问题? 或者是否强制执行此类页面权限?

I'm using the ASP.NET Login Controls and Forms Authentication for membership/credentials for an ASP.NET web application. And I'm using a site map for site navigation.

I have ASP.NET TreeView and Menu navigation controls populated using a SiteMapDataSource. But off-limits administrator-only pages are visible to non-administrator users.


Kevin Pang wrote:

I'm not sure how this question is any
different than your other question

The other question deals with assigning and maintaining permissions.

This question just deals with presentation of navigation. Specifically TreeView and Menu controls with sitemap data sources.

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

Nicholas wrote:

add role="SomeRole" in the sitemap

Does that only handle the display issue? Or are such page permissions enforced?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

网名女生简单气质 2024-07-11 02:17:50

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

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

I'm not sure how this question is any different than your other question, but I'll try to answer it anyways.

If you want a tutorial on how to implement role-based authentication, check out the one from 4GuysFromRolla.

妄想挽回 2024-07-11 02:17:50

我必须在 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>

I had to set securityTrimmingEnabled to "true" in my web.config file.

<?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>
潦草背影 2024-07-11 02:17:50

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

securityTrimmingEnabled="true" works for internal pages that have a config file restricting permissions, you can also add role="SomeRole" in the sitemap to ovveride the display mechanism, which is useful if you have menu items to external sites.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文