Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 27998|Respuesta: 3

[Fuente] Asp.Net autenticación y autorización en MVC

[Copiar enlace]
Publicado en 16/3/2017 13:47:34 | | |

MVC viene con un ActionFilter
Para lograr la autenticación de identidad en Asp.NET WebForm, Microsoft nos ofrece tres opciones, la más utilizada es la autenticación de Formularios, que debe configurarse con la información correspondiente. Por ejemplo, la siguiente información de configuración:


Esto significa que nuestra página de inicio de sesión es Login.aspx, la página predeterminada tras el inicio de sesión exitoso es Default.aspx, y nuestra información de usuario adopta dos métodos: verificación y cifrado. Y lo más importante es que necesitamos escribir el método de autorización (la autorización de abajo debe estar escrita, de lo contrario es inútil usar solo la autenticación de Forms y luego establecer atributos relevantes), negar a todos los usuarios anónimos y solo los usuarios iniciados sesión pueden acceder normalmente. Después de eso, configuramos el botón de inicio de sesión para escribir el nombre de usuario en la cookie (es decir, ejecutar FormsAuthentication.SetAuthCookie(name, false); Eso es todo.
0 En Asp.Net MVC también podemos usar autenticación de Formularios, pero si lo haces en WebForm, no funcionará. Por ejemplo, configuras la información así:


Configuraste un inicio de sesión en tu Login.aspx para activar el inicio de sesión en el AccountController, donde el código de inicio de sesión:

Después de hacer esto, verás que tu inicio de sesión no se ejecutará. ¿Cuál es la razón? ¿Por qué no funciona la misma configuración en MVC? La razón es que el mecanismo es diferente, porque configuras un método de autorización que hace que el inicio de sesión sea inaccesible. ¿Entonces, cómo lo hacemos?
De hecho, en Asp.Net MVC tenemos una mejor forma de hacer todo esto, no necesitamos un método de autorización, lo que significa que nuestra información de configuración es así:




No es necesario especificar que los usuarios anónimos no pueden iniciar sesión, etc. Por supuesto, verás que solo hacer esto no es suficiente, pero tenemos que decirle al sistema cuáles deben iniciar sesión para poder acceder. Puede que pienses, o()〈)))o Oh, eso es demasiado problema. No es así, es muy sencillo, solo tenemos que marcar [Autorizar] en la acción que hay que autenticar. Por ejemplo, tengo dos páginas en la carpeta Home, Índice y Inicio, y quiero que el Índice esté autenticado para acceder, pero Inicio no lo hace, así que solo necesito darle al Índice la etiqueta Acción [Autorizar], es decir:



Esto permite acceder a Index tras iniciar sesión, mientras que Home no necesita iniciar sesión. Si necesitas autorizar roles, puedes especificar el rol al marcar Autorizar (por ejemplo, [Authorize(Role=Administrators)]), pero tienes que usar el mecanismo de membresía que proporciona Microsoft, porque tu rol no puede existir sin motivo, sino que existe en la base de datos correspondiente, como mencioné en otro blog.
Personalizar el ActionFilter
A veces puede que no puedas cumplir con este tipo de autenticación, o si sientes que no eres lo suficientemente flexible, entonces no importa, Asp.Net MVC te permite personalizar tu ActionFilter. Por ejemplo, ahora personalizo la autenticación:


Si se requiere gestión de usuarios, definiré los filtros relacionados con los roles:

De hecho, verás que los dos atributos anteriores han sido resueltos por el Authorized incorporado de MVC, y aquí te decimos principalmente que puedes ampliarlo si es necesario.
¡Pues eso es todo por hoy! Descarga del código fuente: FormFormsAuthenticationMvc





Anterior:Tras la actualización VPS, el proceso es de unos 45 y la CPU llega a 100,
Próximo:Advertencia: "Conflictos no resueltos encontrados entre diferentes versiones del mismo ensamblador dependiente"
 Propietario| Publicado en 30/3/2017 9:40:22 |
Publicado en 28/12/2017 14:58:56 |
Sería mejor si hubiera renderizados
Publicado en 7/2/2023 15:44:56 |

Sería mejor si hubiera renderizados
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com