¿La autenticación de formularios es obsoleta? [cerrado]

46

Estoy creando un sitio web usando ASP.NET MVC 5. ¿Microsoft ha lanzado alguna tecnología para reemplazar FormsAuthentication o todavía recomiendan autenticar al usuario usando FormsAuthentication para MVC 5?

sean717
fuente
3
Defina "Aceptar" y "Obsoleto", y explique "No me gusta".
Robert Harvey
24
¿Por qué esta pregunta cerrada? El OP pregunta si FormsAuthentication es obsoleto en MVC 5 y si hay otra tecnología que lo reemplace. Esta no es una pregunta basada en una opinión como "¿Qué piensas de usar FormsAuthentication en MVC 5"?
Tony_Henrich
3
@ Tony_Henrich, sí, no entiendo por qué esto está cerrado. Afortunadamente, Rowan proporcionó una respuesta útil antes del cierre. Parcialmente basado en su respuesta, todavía utilicé FormsAuthentication en mi proyecto MVC5.
sean717
3
No entiendo por qué esto estaba cerrado? ¿No es esta pregunta el propósito de este intercambio de pila, y no hacer este tipo de pregunta en stackoverflow?
contactmatt
3
No entiendo por qué se cerró esta pregunta. Mi proyecto está migrando de formularios web asp.net 4.0 con autenticación de formulario a asp.net 4.5 MVC5 y estoy buscando el mejor enfoque con el código actual. No permita que StackExchange se modere peor que Wikipedia.
JoshYates1980

Respuestas:

50

Si. La autenticación de formularios está en desuso en MVC 5 y en adelante.

Al menos, esa es la respuesta corta.

La respuesta larga es que la autenticación de formularios tradicional anterior a MVC 5 todavía está bien para usar . Sin embargo, se está eliminando gradualmente a favor de enfoques alternativos como la identidad ASP.NET .

En Visual Studio 2013, las opciones de autenticación proporcionadas para la aplicación MVC 5 son las siguientes:

Opciones de autenticación VS2013

En este caso, las Cuentas de usuario individuales se refieren a la identidad ASP.NET .

Según Microsoft, la antigua Membresía ASP.NET ha sido reemplazada por Identidad ASP.NET,

[...] la aplicación de muestra se configurará para utilizar la identidad ASP.NET ( anteriormente conocida como membresía ASP.NET )

(El énfasis es mío)

Microsoft también declara

El nuevo sistema de membresía se basa en OWIN en lugar del módulo de autenticación de formularios ASP.NET.

Por lo tanto, Identity no reemplazó exactamente FormsAuthentication, sino que reemplazó el sistema de Membresía que usaba FormsAuthentication. También es bueno, porque según una pregunta que hice en 2013, la membresía es bastante confusa .

Sin embargo, todavía existe un tipo de FormsAuthentication . De acuerdo con Microsoft ,

ASP.NET también tiene soporte de autenticación de formularios a través de FormsAuthenticationModule, que, sin embargo, solo puede admitir aplicaciones alojadas en ASP.NET y no tiene soporte de reclamos. Aquí hay una lista aproximada de comparación de características: Comparación de características

Entonces, si aún desea utilizar la autenticación de formularios, consulte la descripción de la autenticación de formularios OWIN en MVC 5 .

Por lo tanto, Microsoft lo alienta a usar la identidad ASP.NET. No tienes que hacerlo, por supuesto. Simplemente puede seleccionar Sin autenticación y el proyecto no implementará nada por usted. Es entonces depende de usted para satisfacer sus necesidades de miembros / inicio de sesión .

Rowan Freeman
fuente
55
Ni el OP ni esta respuesta mencionan la autenticación de formulario personalizado. En mis aplicaciones, no quiero y no uso los controles integrados de membresía y las tablas de SQL Server, sino que autentico a un usuario usando mi código y mi tabla de usuario. Luego, una vez autenticado, utilizo FormsAuthentication para crear y configurar la cookie de autenticación. No uso ASP.NET Identity pero espero que también sea compatible con este escenario.
Tony_Henrich
@Tony_Henrich, "autenticar a un usuario utilizando mi código y mi tabla de usuarios. Luego, una vez autenticado, uso FormsAuthentication para crear y configurar la cookie de autenticación" Eso es exactamente lo que termino haciendo. Realmente no me gustan los controles de membresía ASP.NET y sus tablas de SQL Server. Para el sistema de "membresía ASP.NET" sé que definitivamente está en desuso y debería dejar de usarse (ya que hace muchos años en realidad)
sean717
Un buen proyecto de código abierto que usa MVC5 y autenticación de formulario personalizado: github.com/YodasMyDad/mvcforum
JoshYates1980