2009-10-18 22 views
5

Siendo bastante nuevo en MVC Framework, estoy tratando de establecer un proveedor de Membresía personalizado que pueda respaldar el concepto de Grupos o departamentos.Agregar membresía grupal al proveedor de Membresía/Roles personalizado

Necesito asignar a cada usuario a pertenecer a uno (y solo a uno) de varios grupos - cada grupo (y sus miembros) solo pueden ver los registros que pertenecen a él - identificados por GroupId.

Necesito de alguna manera almacenar este groupid dentro del perfil de los usuarios para que cuando inicien sesión y llamen (por ejemplo) el método Index en el controlador, se pase el groupid que filtrará los registros que el usuario puede ver .

Estoy seguro de que es un enfoque directo, pero parece que tengo un bloqueo mental.

Cualquier idea será útil (y probablemente embarazosamente simple!)

Roger

Respuesta

2

Me pregunto si usted podría utilizar "roles" en lugar de "grupos". Los permisos se pueden manejar fácilmente con roles. Por lo general, un rol es algo así como administrador, administrador, superusuario, usuario, invitado. ¿Pero no podrías usar roles para tus propósitos?

Aquí hay una explicación del uso de roles en el proveedor de Membresía: How To: Use Role Manager in ASP.NET 2.0. Puede encontrar muchos más buscando "roles" en lugar de "grupos".

Y en caso de que no tenga el código fuente de membresía como referencia, puede descargarlo de esta página Microsoft ASP.NET 2.0 Providers: Introduction para ver cómo codifican las funciones en la versión básica.

+1

El problema que tendría al configurar un rol es la gran cantidad potencial de roles. He implementado un proveedor de membresía personalizado y una tabla de usuario definida personalizada. Cada registro de usuario tiene un GroupId adicional asociado a él. Luego puedo filtrar las tablas en todo el sitio con ese ID de grupo. También tengo roles superpuestos en la parte superior para permitir que ciertos usuarios realicen las funciones variables (Agregar, eliminar, etc.) Gracias por su aporte, ese enlace también era bueno. – RogerDodge

Cuestiones relacionadas