0

我正在使用我自己的SiteMapProvider,它只是继承并稍微重写System.Web.XmlSiteMapProvider

我想siteMapNode为客户和经理带来不同的回报。或者可能相同但具有不同的Title属性。

是否可以?如果是,我该怎么做?

4

1 回答 1

1

这是 Scott Gu 博客中的一篇文章,可以帮助您。本文中的示例使用 Windows 身份验证,但它也适用于表单身份验证。

http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx

如果您想为不同的角色实现不同的头衔,那么这里是一个如何实现的示例。您需要做的就是创建两个指向相同 url 的节点。将 a=1 和 a=2 作为 url 上的查询字符串变量的原因是为了确保 url 是唯一的。如果 url 不是唯一的,asp.net 会抱怨,除非您可以覆盖该功能...

    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
        <siteMapNode url="default.aspx" title="Home">
            <siteMapNode url="page1.aspx?a=1" title="Client Title" roles="Client" />
            <siteMapNode url="page1.aspx?a=2" title="Manager Title" roles="Manager" />
        </siteMapNode> 
    </siteMap>
于 2010-05-22T15:26:29.530 回答