2008-10-02 15 views
6

Parece haber muchas formas de desollar a este gato en particular, pero cuál es la mejor y más fácil de implementar. Parecería que el Proveedor de Membresía de ASP.net es el que ahorrará más tiempo, entonces mis preguntas son:Creación de sitios nuevos y seguridad/autenticación, ¿debería usar ASP.net Membership Provider?

  1. ¿Cuáles son los pros/contras de Membresía?
  2. ¿Cómo se integra el usuario generado automáticamente con su propio db personalizado? por ejemplo, clientes/pedidos/productos db. (Estamos hablando de MS Sql aquí por cierto)
  3. ¿Dónde puedo encontrar un buen tutorial actualizado?

Muchas gracias.

Respuesta

5

La membresía es liviana y fácil de configurar. También puede usar los diversos proveedores para usar Active Directory o alguna otra ubicación de miembro.

No debería necesitar integrar las bases de datos, puede usar una para autenticar usuarios y luego, mientras sean válidas, vaya a consultar otra base de datos para los datos. Esta es una buena manera de mantener la información separada por razones de seguridad.

Para un buen tutorial, me gustaría sugerir: http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx

Y si desea crear su propio proveedor de pertenencia: http://www.asp.net/learn/videos/video-189.aspx

1

Tutoriales - hay una serie de buenos tutoriales en el sitio ASP.Net. Hemos utilizado las instalaciones del proveedor de membresía y lo hemos integrado con nuestra base de datos; utilizamos el valor de "nombre de usuario" como clave externa para nuestras propias tablas con información adicional de "negocios".

El sistema funciona bien con una codificación mínima.

3

general, le doy un aprobado, pero hay varios pequeños inconvenientes que se me ocurren:

  • Los roles son sólo cadenas, no hay manera de adjuntar información adicional a ellos sin rodar su propio código.
  • Algunos de los controles de inicio de sesión no configuran correctamente su botón predeterminado, por lo que presionar la tecla "enter" mientras está en un campo de entrada no hace nada. Puede solucionar esto configurándolo usted mismo.
  • No hay forma predeterminada de requerir números en una contraseña, solo símbolos.
  • Controles de inicio de sesión w/SqlMembershipProvider no muestran mensajes específicos de "usuario bloqueado".

Cualquiera de una estafa o un profesional, depende del punto de vista:

  • Los nombres de usuario distinguen entre mayúsculas y minúsculas en el SqlMembershipProvider
+0

Se podría añadir una expresión regular para requerir números estableciendo el atributo passwordStrengthRegularExpression. –

+0

Los nombres de usuario no distinguen entre mayúsculas y minúsculas en SqlMembershipProvider. –

Cuestiones relacionadas