Pregunta

Actualmente estoy convirtiendo un muy de edad, pero el sitio ASP clásico que trabaja para ASP.Net.

Tiene un sistema de gestión de usuario completamente escrito personalizado. Mientras que funciona bien, lo que realmente necesita una actualización como yo quiero que sea más flexible para algunos proyectos futuros en las obras.

Cuando le pregunté a alguien acerca de esto, dijeron: "Es necesario utilizar el proveedor Microsoft" y dio una conferencia sobre cómo Microsoft liberar todas estas cosas de forma gratuita y lo buenos que son y deben ser re utilizados tanto como sea posible.

He hecho un poco de investigación sobre el mismo (mirando principalmente a los vídeos en http://asp.net/learn ) y estoy muy impresionado por algunas de las características ya que parece ser componentes de arrastrar y soltar para artículos que me llevaría a escribir las edades.

Sin embargo, la base de datos de membresía actual es complicado de explicar, se trata de una base de datos completamente escrito personalizado que tiene muchas relaciones internas ... En realidad no es "compatible" con el proveedor Microsoft por defecto.

He echado un vistazo a How Do I: Crear un proveedor de suscripciones personalizado? , pero me siento un poco fuera de mi zona de confort y preocupado de que sea será lenta, introducir un agujero de seguridad o simplemente no va a funcionar.

Al final del día, el proveedor de pertenencia Microsoft debe trabajar para mí - los únicos personalizaciones que realmente necesito es el inicio de sesión a utilizar el campo de nombre de usuario / contraseña en mi base de datos y la creación de scripts de usuario que tiene una gran cantidad de código personalizado a varios sistemas de terceros (necesidad de servicios de suministro, etc.).

Me estaba preguntando, ¿qué haría usted si se enfrentan a una situación similar?

  1. Utilice el proveedor de suscripciones Microsoft y de alguna manera hacer que funcione para usted (aunque me gustaría sugerencias)

  2. Utilice el proveedor de suscripciones Microsoft pero el uso de proveedor personalizado que se adapta alrededor de su código.

  3. Utilice su propia solución completamente personalizada?

¿Fue útil?

Solución

Ese video complica las cosas :) Si va a implementar un proveedor personalizado a continuación, el reflector sobre la existente es un buen lugar para empezar:)

Como una opción rápida y sucia que podría, por supuesto, cortar los procedimientos almacenados que el proveedor de pertenencia SQL utiliza, pero el código personalizado a los servicios disposición es probable que se extienden.

Si se piensa en ello la provisión de servicios a distancia en realidad no pertenecen a un proveedor de pertenencia, que no es realmente una función de pertenencia - toda la membresía no es proporcionar los nombres de usuario y contraseñas de autenticación y alrededor de ellos. Mi opinión es que debe mover el aprovisionamiento de servicios fuera de allí, y llevar a cabo en el sitio ASP.NET después de que un usuario ha sido creado - incluso si eso es sólo llamar a un procedimiento almacenado una vez que el proveedor de pertenencia ha hecho su cosa. Si lo hace es posible que el proveedor de pertenencia SQL va a hacer todo lo que se necesita (probablemente con los Roles y proveedores perfil también), y por lo tanto tiene mucho menos código para escribir!

Otros consejos

He estado en situaciones similares en el pasado. En ambos casos hemos creado implementaciones personalizadas de los proveedores (MembershipProvider, RoleProvider, ProfileProvider) alrededor del mecanismo existente.

En ambos casos sólo utilizamos las implementaciones de los proveedores de acceso de sólo lectura, por ejemplo, para darnos las gubbins validación fáciles en web.config y cosas por el estilo. El código de administración de usuarios fue dejado como estaban ya que funcionaba bien.

Si las obras existentes (proveedor tiene los campos adecuados para sus datos), utilizar eso para empezar. Se puede reemplazar muy fácilmente que con un proveedor de atención al cliente después (un solo cambio de configuración de valor).

Cuidado que no es un "fuera de la caja" interfaz de gestión de ASP.NET para eso, tendrá que rodar su propio uso o un tercero uno.

Usar mi MembershipProvider especializado para trabajar en contra de mis propias tablas de bases de datos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top