none
config RRS feed

  • Pregunta

  • hola foro:

    tengo una paginas aspx.

    Como podria hacer para hacer un configuracion por cliente , es decir validar y hacer visibles ciertos contrloles segun un archivo archivo xml , o con el webconfig son varios clientes , cada cliente va a usar  el mismo sitio pero parametrizado segun el archivo de configuracion , seria mejor un archivo xml simpl e que el webconfig por simplicidad?,

    Gracias



    martes, 8 de septiembre de 2015 3:24

Respuestas

  • hola

    me parece que estas herrando el camino, el confign aplica a nivel del sitio web

    si quieres definir configuracion especifica para un usuario debes usar otra estrategia, quizas una base de datos seria lo correcto o usar las cookies

    >>seria mejor un archivo xml simpl e que el webconfig por simplicidad?,

    si estas evaluando un xml entonces aconsejaria ir por la db

    puede ser algo simple podrias usar Sql Compact (o sea un .sdf) asi no requiere mostor de base de datos

    imagino en tu sitio implementas autenticacion para poder solicitar login y asi identificar cada usuario que ingresa, bueno en esa misma db que usas para autenticar podrias guardar la info en el profile

    Información general sobre las propiedades de perfil de ASP.NET

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Inovador2015 martes, 8 de septiembre de 2015 10:52
    martes, 8 de septiembre de 2015 4:14
  • Hola Inovador2015,

    >> es decir validar y hacer visibles ciertos contrloles segun un archivo archivo xml , o con el webconfig son varios clientes

    Lo que nos platicas, se entiende como Autorización.  Aplica para paginas completas, opciones de menú y por lo que comentas para ciertos controles. En ASP.NET puede hacer el uso de roles, cada cliente tendría un rol.  

    Para el caso de Carpetas, o ASPX puedes hacer la autorización en el web.config. 

    <location path="AdminFolder"> // Nombre de la carpeta, o aspx a la que le darás acceso
    <system.web>
    <authorization>
    	<allow roles="Admin"/> // Permite el acceso solo a los clientes con role "Admin"
    	<deny users="*"/>  // Invalida el acceso a cualquier otro usuario
    </authorization>
    </system.web>
    </location>

    Si es un control en particular, puedes usar el control.

    <asp:LoginView runat="Server" id="LoginView1"> <AnonymousTemplate> // Aquí colocas lo que cualquier cliente sin autenticar podría ver. </AnonymousTemplate> <LoggedInTemplate> // Aquí colocas lo que cualquier usuario autenticado puede ver </LoggedInTemplate> <RoleGroups> <asp:RoleGroup Roles="Admin">// Aquí puedes agregar rolesGroup como necesites. <ContentTemplate> // Aquí va el contenido (controles) que quieres

    // que vea el cliente con rol Admin

    </ContentTemplate> </asp:RoleGroup> </RoleGroups> </asp:LoginView>

    Espero que la respuesta te ayude.

    Saludos,

    @norrojas


    • Marcado como respuesta Inovador2015 martes, 8 de septiembre de 2015 10:52
    martes, 8 de septiembre de 2015 4:15

Todas las respuestas

  • hola

    me parece que estas herrando el camino, el confign aplica a nivel del sitio web

    si quieres definir configuracion especifica para un usuario debes usar otra estrategia, quizas una base de datos seria lo correcto o usar las cookies

    >>seria mejor un archivo xml simpl e que el webconfig por simplicidad?,

    si estas evaluando un xml entonces aconsejaria ir por la db

    puede ser algo simple podrias usar Sql Compact (o sea un .sdf) asi no requiere mostor de base de datos

    imagino en tu sitio implementas autenticacion para poder solicitar login y asi identificar cada usuario que ingresa, bueno en esa misma db que usas para autenticar podrias guardar la info en el profile

    Información general sobre las propiedades de perfil de ASP.NET

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Inovador2015 martes, 8 de septiembre de 2015 10:52
    martes, 8 de septiembre de 2015 4:14
  • Hola Inovador2015,

    >> es decir validar y hacer visibles ciertos contrloles segun un archivo archivo xml , o con el webconfig son varios clientes

    Lo que nos platicas, se entiende como Autorización.  Aplica para paginas completas, opciones de menú y por lo que comentas para ciertos controles. En ASP.NET puede hacer el uso de roles, cada cliente tendría un rol.  

    Para el caso de Carpetas, o ASPX puedes hacer la autorización en el web.config. 

    <location path="AdminFolder"> // Nombre de la carpeta, o aspx a la que le darás acceso
    <system.web>
    <authorization>
    	<allow roles="Admin"/> // Permite el acceso solo a los clientes con role "Admin"
    	<deny users="*"/>  // Invalida el acceso a cualquier otro usuario
    </authorization>
    </system.web>
    </location>

    Si es un control en particular, puedes usar el control.

    <asp:LoginView runat="Server" id="LoginView1"> <AnonymousTemplate> // Aquí colocas lo que cualquier cliente sin autenticar podría ver. </AnonymousTemplate> <LoggedInTemplate> // Aquí colocas lo que cualquier usuario autenticado puede ver </LoggedInTemplate> <RoleGroups> <asp:RoleGroup Roles="Admin">// Aquí puedes agregar rolesGroup como necesites. <ContentTemplate> // Aquí va el contenido (controles) que quieres

    // que vea el cliente con rol Admin

    </ContentTemplate> </asp:RoleGroup> </RoleGroups> </asp:LoginView>

    Espero que la respuesta te ayude.

    Saludos,

    @norrojas


    • Marcado como respuesta Inovador2015 martes, 8 de septiembre de 2015 10:52
    martes, 8 de septiembre de 2015 4:15