none
Personalizar la gestión de usuarios de la plantilla MVC2 con formularios RRS feed

  • Pregunta

  • Hola, quisiera saber si existe algún tutorial o ejemplo de como personalizar la gestión de usuarios de la aplicación, es decir crear, editar datos, eliminar, dar de baja, etc a los usuarios utilizando formularios. Estoy utilizando una plantilla  ASP.NET MVC2.

    Agradezco cualquier ayuda.

    Saludos cordiales

    miércoles, 5 de enero de 2011 16:03

Respuestas

  • Buenas Richof.

    No tiene especial complicación. Entiendo que actualmente tus usuarios ya pueden autenticarse contra la aplicación, por lo que ya estás usando un MembershipProvider (propio o el que viene con ASP.NET).

    A partir de aquí:

    1. Añade un controlador (p.ej. AdminController) que sea el que te gestione dichas peticiones. P.ej. la acción List permitiría ver los usuarios, la acción Add añadirlos, etc, etc
    2. Crea dichas acciones y las vistas asociadas. No hay nada especial, son acciones y vistas de MVC tradicionales.

    Luego, usa el API del Membership Provider para acceder a la información de los usuarios. Para ello usa la clase estática Membership (http://msdn.microsoft.com/en-us/library/system.web.security.membership.aspx) para realizar las acciones. P.ej. para obtener una lista de los usuarios:

     MembershipUserCollection users = Membership.GetAllUsers();
    

    La clase Membership tiene todo lo que necesitas: crear un usuario, borrarlo, listarlos, editarlo... Lo que ya quieras hacer dependerá exactamente de tu aplicación.

    Un tema: Si haces un conjunto de vistas (en este caso un controlador entero) que sirve para administrar estaría bien que sólo los usuarios administradores pudiesen acceder a dicho controlador. Recuerda que con [Authorize()] puedes marcar que un controlador entero (o las acciones que quieras) sólo sean accesibles a usuarios autenticados. Pero esto no te sirve tal cual: sólo los administradores deben poder acceder al controlador AdminController. Para ello puedes usar [Authorize] con la propiedad Roles que indica que roles pueden usar dicho controlador/acción. En tu caso algo como [Authorize(Roles="Admin")].

    Para que esto te funcione necesitas tener activo el RoleProvider de ASP.NET y configurado a tu manera. Este enlace explica que es el RoleProvider: http://msdn.microsoft.com/en-us/library/ff647401.aspx

    Espero que esto te sirva!

    Un saludo!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Propuesto como respuesta jtorrecilla martes, 11 de enero de 2011 11:07
    • Marcado como respuesta Eder Costa viernes, 5 de octubre de 2012 14:25
    martes, 11 de enero de 2011 8:10

Todas las respuestas

  • Hola Richof,

    No entiendo la pregunta... Que quieres saber exactamente: como dar de alta/baja y modificar usuarios? Otros tipos de datos de tu aplicación?

    Ya dirás...

    Saludos! 


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    sábado, 8 de enero de 2011 17:26
  • Hola Richof,

    No entiendo la pregunta... Que quieres saber exactamente: como dar de alta/baja y modificar usuarios? Otros tipos de datos de tu aplicación?

    Ya dirás...

    Saludos! 


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    Hola Eduardo, te explico, quiero que el administrador de mi aplicación pueda gestionar los usuarios desde formularios, una vez que la aplicación este alojada en el hosting. Espero haber aclarado mi idea. Agradeceré mcuho tus sugerencias.

     

    lunes, 10 de enero de 2011 14:40
  • Buenas Richof.

    No tiene especial complicación. Entiendo que actualmente tus usuarios ya pueden autenticarse contra la aplicación, por lo que ya estás usando un MembershipProvider (propio o el que viene con ASP.NET).

    A partir de aquí:

    1. Añade un controlador (p.ej. AdminController) que sea el que te gestione dichas peticiones. P.ej. la acción List permitiría ver los usuarios, la acción Add añadirlos, etc, etc
    2. Crea dichas acciones y las vistas asociadas. No hay nada especial, son acciones y vistas de MVC tradicionales.

    Luego, usa el API del Membership Provider para acceder a la información de los usuarios. Para ello usa la clase estática Membership (http://msdn.microsoft.com/en-us/library/system.web.security.membership.aspx) para realizar las acciones. P.ej. para obtener una lista de los usuarios:

     MembershipUserCollection users = Membership.GetAllUsers();
    

    La clase Membership tiene todo lo que necesitas: crear un usuario, borrarlo, listarlos, editarlo... Lo que ya quieras hacer dependerá exactamente de tu aplicación.

    Un tema: Si haces un conjunto de vistas (en este caso un controlador entero) que sirve para administrar estaría bien que sólo los usuarios administradores pudiesen acceder a dicho controlador. Recuerda que con [Authorize()] puedes marcar que un controlador entero (o las acciones que quieras) sólo sean accesibles a usuarios autenticados. Pero esto no te sirve tal cual: sólo los administradores deben poder acceder al controlador AdminController. Para ello puedes usar [Authorize] con la propiedad Roles que indica que roles pueden usar dicho controlador/acción. En tu caso algo como [Authorize(Roles="Admin")].

    Para que esto te funcione necesitas tener activo el RoleProvider de ASP.NET y configurado a tu manera. Este enlace explica que es el RoleProvider: http://msdn.microsoft.com/en-us/library/ff647401.aspx

    Espero que esto te sirva!

    Un saludo!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Propuesto como respuesta jtorrecilla martes, 11 de enero de 2011 11:07
    • Marcado como respuesta Eder Costa viernes, 5 de octubre de 2012 14:25
    martes, 11 de enero de 2011 8:10