• Viernes 8 de Noviembre de 2024, 19:42

Autor Tema:  Problema Con Roles Y Sitemap  (Leído 939 veces)

moncholv

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Problema Con Roles Y Sitemap
« en: Miércoles 8 de Agosto de 2007, 13:27 »
0
Muy buenas, estoy creando por primera vez una aplicación con login con el framework 2.0 y tengo el siguiente problema

Me he creado mi propia página de login, y después de consultar la base de datos y ver que es correcto y obtener los roles, hago lo siguiente para asignarselos al usuario con lo siguiente

GenericIdentity objIdentity = new GenericIdentity(login);
//Aqui obtengo los roles, que supongamos que son "administrador" y "lectura"

String[] recursosStringArray = new String["administrador", "lectura"];

GenericPrincipal objPrincipal = new GenericPrincipal(objIdentity, recursosStringArray);
HttpContext.Current.User = objPrincipal;


Luego en el web.config tengo lo siguiente

<authentication mode="Forms">
    <forms loginUrl="Login.aspx" protection="All" timeout="30" name=".ASPXAUTH" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="Login.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>
</authentication>
<authorization>
<deny users="*" />
</authorization>
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
    description="Default SiteMap provider."
    type="System.Web.XmlSiteMapProvider "
    siteMapFile="Web.sitemap"
    securityTrimmingEnabled="true" />
</providers>
</siteMap>
<sessionState mode="StateServer"/>


Le pongo a todos los elementos del web.sitemap roles="*", menos a dos que les pongo roles="administrador" y roles="bob".
Entro con un usuario que tiene el rol de administrador, y muestra todos los elementos menos el que tiene como rol a "bob". Es decir todo perfecto.
Por cierto que el control que uso para mostrar los elementos (vinculos), es un Menu de asp, que se encuentra dentro de una pagina de plantilla.

Ahora el problema viene cuando le doy a cualquiera de esos enlaces que me muestra (para cargar paginas que se incluiran dentro del contenido de la plantilla), ya que HttpContext.Current.User.Identity no tiene ninguno de los valores que se le asignan en la pagina de login, y me lleva a esta ultima.
Lo raro, es que al cargar los datos de la pagina de plantilla, en esta si se mantienen los valores de HttpContext.Current.User.Identity

Y eso es todo. Si he conseguido explicarme bien... y alguien sabe que me falta, un poco de ayuda, por favor...

Un saludo