Pregunta

Estoy usando mi propia SiteMapProvider que acaba se hereda y System.Web.XmlSiteMapProvider reescrito poco.

Quiero volver siteMapNode diferente para los clientes y para los directivos. O tal vez lo mismo pero con diferente propiedad Title.

¿Es posible? En caso afirmativo, ¿cómo puedo hacer eso?

¿Fue útil?

Solución

Aquí está un artículo del blog de Scott Gu que pueden serle de ayuda. El ejemplo en el artículo se usa la autenticación de Windows, pero debería también trabajo para la autenticación de formularios también.

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

Si desea implementar diferentes títulos para los diferentes roles entonces aquí es un ejemplo de cómo esto se puede hacer. Todo lo que necesita hacer es crear dos nodos que apuntan a la misma URL. Las razones para a = 1 y A = 2 como cadena de consulta vars en la url es asegurar que la url es único. Si la URL no es única, asp.net se quejará, a menos que se puede anular esa funcionalidad ...

    <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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top