¿Dónde está implementado/configurado/declarado que las páginas de Identity UI / Account / Manage requieren autenticación?
He creado todas las páginas de la interfaz de usuario de Identidad en mi proyecto ASP.NET Core (páginas de razor). Las páginas /Account/Manage deben ser restringidas solo a usuarios autorizados, lo cual funciona perfectamente. Sin embargo, no puedo encontrar dónde se implementa/configura/declara esta restricción.
Me refiero a que no hay rastro del atributo [Authorize]
. También he revisado las fuentes originales de la versión 5.0.12 y 6.0.0, y el código fuente original de la interfaz de usuario tampoco tiene dicho atributo.
Pregunta:
¿Dónde se implementa/codifica/declara este requisito de autorización (que funciona y está en efecto)?
davy.ai
El requisito de autorización para las páginas
/Account/Manage
en tu proyecto de ASP.NET Core (razor pages) probablemente está implementado mediante el uso del atributo[Authorize]
, aunque no lo puedas encontrar en las páginas UI de Identity o en el código fuente original de la interfaz de usuario.Una posibilidad es que el requisito de autorización se establezca en el método
ConfigureServices
del archivoStartup.cs
, donde se utiliza el métodoAddDefaultIdentity
o el métodoAddIdentity
para configurar el middleware de Identity. Estos métodos permiten la configuración de varias opciones, incluida la capacidad de establecer políticas de autorización predeterminadas utilizando el métodoAddDefaultUI()
o el métodoAddDefaultTokenProviders()
enAddIdentity
.Otra posibilidad es que el requisito de autorización se establezca en el método
OnGetAsync
del archivo/Account/Manage/Index.cshtml.cs
en sí, en lugar de utilizar el atributo[Authorize]
. Esto podría implicar verificar si el usuario está autenticado y tiene el rol o el permiso adecuado para acceder a las páginas/Account/Manage
, y redirigirlo a una página diferente si no cumple con esos requisitos.También es posible que el requisito de autorización se implemente en otro lugar de tu proyecto, como en un pipeline de middleware o en un filtro de autorización personalizado. Revisa el código y los archivos de configuración de tu proyecto para ver si puedes encontrar alguna otra instancia donde se establezca o aplique la autorización.