2012-03-23 18 views
7

Soy nuevo en ASP.NET MVC. Lo cambié de PHP.Cuál es la mejor forma de administrar usuarios en ASP.NET MVC

En PHP, cuando estaba creando una página que administraba usuarios, a menudo creaba las tablas Usuarios y Perfiles y almacenaba los datos en ellas. En ASP.NET, están los Proveedores de Membresía y Perfil.

Entonces, mi pregunta es, ¿cuál es la mejor forma de administrar usuarios en ASP.NET MVC? ¿Debo crear tablas y lógica personalizadas como en PHP o debería crear proveedores personalizados?

Sé, hay muchos temas similares acerca de este problema. Sin embargo, ninguno de ellos es exactamente lo que necesito.

Gracias de antemano, Mike.

+2

No hay necesidad de reinventar la rueda; use el proveedor de membresía incorporado. Cualquier cosa que hagas será propenso a errores y menos seguro; especialmente si no está familiarizado con el framework .net. Pasará un tiempo antes de que crezca lo que el ingeniero de Microsoft ha construido. – frenchie

+2

@frenchie No estoy de acuerdo. El proveedor de membresía, como muchas otras cosas rápidas y sucias, es bueno para cosas sucias y rápidas (o demos) y no es difícil encontrar una membresía mejor (¡para tus necesidades!). Construyo mi proveedor de membresía de acuerdo con las necesidades de mi aplicación y esa membresía incorporada no satisface mis necesidades adecuadamente. Llegué a esta conclusión hace algunos años y no recuerdo todos los detalles, pero sí recuerdo que odio usar guías como identificación de usuario. – MikeSW

Respuesta

2

probablemente debería dicen que no hay mejor manera. Lo mejor es ambiguo.

Diría que hay tres tipos generales de formas de hacer usuarios y roles con un servidor SQL (menciono esto porque mencionó tablas).

Primero: utilice la ASP.NET incorporada (webforms/mvc agnostic) SqlMembership Provider. Contiene la mayoría de las características que las personas necesitan para administrar usuarios. Es más probable que sea el más rápido de implementar, pero el menos extensible. Esto sería muy recomendable

Segundo: Cree su propio [Proveedor de membresía], para seguir el patrón del proveedor de membresía pero introduzca su propia lógica del SQL a la Aplicación. Crear su propia oferta puede ser un proceso bastante largo, pero aún así obtiene todas las características agradables y puede usarse en otros proyectos porque es su propio proveedor y no está vinculado a la aplicación.

Tercero: Cree su propia lógica desde cero. No recomendaría esto a menos que planees construirlo como una aplicación independiente.

+0

Gracias, esta es también una buena opinión que me ayudó a decidir. – michy04

2

Estoy de acuerdo con Oscar y Frenchie: no reinvente la rueda. Los proveedores de membresía de ASP.NET deberían proporcionarle un buen comienzo. Sin embargo, si eres fanático de TDD, es posible que necesites encapsular la implementación del proveedor de membresía dentro de una clase que puedes controlar para que puedas lidiar con la burla. El contrato de proveedor de membresía es bastante grande y está estrechamente vinculado, y he descubierto a través de la experiencia que terminas usando solo el 30-40% de esa bestia. Cree su propio contrato y úselo para interactuar con el proveedor de membresía. Te agradecerás más tarde.

¡Buena suerte!

Cuestiones relacionadas