sql >> Base de Datos >  >> RDS >> Mysql

roles de tienda asp.net en la sesión Roles.AddUsertoRole (¿no es lo que estoy buscando?)

Es Roles.AddUserToRole realmente lo que busco para satisfacer mis necesidades. Creo que necesito almacenar los roles de usuario en la sesión, ¿no?

¡NO! Agregar usuarios a roles significa que el proveedor vinculará al usuario con el rol. Como ya tienes el usuario vinculado, esta es una dirección sin valor.

almacene esos roles de alguna manera para que pueda mostrar controles y enlaces basados ​​en su membresía de rol

¿Por qué necesitas hacer esto? A nivel de página, puede configurar la seguridad de ASP.NET con recortes para que pueda excluir automáticamente páginas de la vista del usuario si no están en los roles correctos. En cuanto a las secciones/controles/etc., puede verificar si un usuario ESTÁ en un rol y luego determinar si mostrarlo o no. Si usa secciones, mucho de esto se puede hacer declarativamente en lugar de programar.

La única advertencia es lo que admite su proveedor de membresía. Los proveedores "listos para usar" (Access y SQL Server) admiten recortes de seguridad y sintaxis declarativa para exclusiones de secciones de una página, etc. Si el proveedor de MySQL implementa completamente todos los métodos, debería estar bien usándolo también. . Si crea un proveedor personalizado, hay ciertas partes que debe implementar para que las cosas funcionen.

La historia corta es que una vez que obtenga un usuario de membresía (autentique a la persona), tendrá acceso a si la persona está en el rol o no. Todo esto es parte de la implementación estándar de un proveedor de membresía en .NET. Siempre que el proveedor que esté utilizando para MySQL cubra todos los mismos métodos, puede hacer una búsqueda rápida en Google y encontrar muchos sitios que muestren cómo mostrar/ocultar bits según los roles.