Eventos
Campeonato mundial de DataViz de Power BI
14 feb, 16 - 31 mar, 16
Con 4 posibilidades de entrar, podrías ganar un paquete de conferencia y convertirlo en el Live Grand Finale en Las Vegas
Saber másEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Por Mike Rousos
La autenticación es el proceso de determinar la identidad de un usuario. Por su parte, la autorización consiste en determinar si un usuario tiene acceso a un recurso. En ASP.NET Core, la autenticación se controla mediante el servicio de autenticación, IAuthenticationService, que el middleware de autenticación emplea para conseguirlo. El servicio de autenticación usa controladores de autenticación registrados para completar las acciones relacionadas con la autenticación. Estos son algunos ejemplos de acciones relacionadas con la autenticación:
Los controladores de autenticación registrados y sus opciones de configuración se denominan "esquemas".
Para especificar esquemas de autenticación, es necesario registrar servicios de autenticación en Program.cs
:
AuthenticationBuilder.AddScheme
directamente.Por ejemplo, el código siguiente registra los servicios de autenticación y los controladores para los esquemas de autenticación de portador de JWT y de cookie:
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("JwtSettings", options))
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("CookieSettings", options));
El parámetro AddAuthentication
de JwtBearerDefaults.AuthenticationScheme es el nombre del esquema que se usará de forma predeterminada si no se solicita un esquema específico.
Si se usan varios esquemas, las directivas de autorización (o los atributos de autorización) pueden especificar el esquema (o esquemas) de autenticación del que dependen para autenticar al usuario. En el ejemplo anterior, se podría especificar el nombre del esquema de autenticación de cookie (CookieAuthenticationDefaults.AuthenticationScheme de forma predeterminada, aunque se podría proporcionar otro nombre al llamar a AddCookie
).
En algunos casos, la llamada a AddAuthentication
se realiza automáticamente mediante otros métodos de extensión. Por ejemplo, al usar ASP.NET Core Identity, se llama a AddAuthentication
internamente.
Para agregar el middleware de autenticación en Program.cs
, se llama a UseAuthentication. La llamada a UseAuthentication
registra el middleware que usa los esquemas de autenticación previamente registrados. Llame a UseAuthentication
antes de registrar cualquier middleware que dependa de que los usuarios se autentiquen.
La autenticación es responsable de proporcionar el elemento ClaimsPrincipal para la autorización sobre el que tomar decisiones relativas a los permisos. Hay varios enfoques de esquema de autenticación para seleccionar el controlador de autenticación responsable de la generación del conjunto de notificaciones correcto:
Cuando solo hay un único esquema de autenticación registrado, se convierte en el esquema predeterminado. Si se registran varios esquemas y no se especifica el esquema predeterminado, se debe especificar un esquema en el atributo authorize; de lo contrario, se produce el siguiente error:
InvalidOperationException: No se ha especificado authenticationScheme y no se ha encontrado DefaultAuthenticateScheme. Los esquemas predeterminados se pueden establecer mediante AddAuthentication(string defaultScheme) o AddAuthentication(Action<AuthenticationOptions> configureOptions).
Cuando solo hay un único esquema de autenticación registrado, el esquema de autenticación único:
DefaultScheme
en AddAuthentication(IServiceCollection) o AddAuthenticationCore(IServiceCollection).Para deshabilitar automáticamente el uso del esquema de autenticación único como DefaultScheme
, llame a AppContext.SetSwitch("Microsoft.AspNetCore.Authentication.SuppressAutoDefaultScheme")
.
El esquema de autenticación puede seleccionar el controlador de autenticación responsable de la generación del conjunto de notificaciones correcto. Para obtener más información, vea Autorizar con un esquema específico en ASP.NET Core.
Un esquema de autenticación es un nombre que corresponde a:
Los esquemas son útiles como mecanismo para hacer referencia a los comportamientos de autenticación, desafío y prohibición del controlador asociado. Por ejemplo, una directiva de autorización puede usar nombres de esquemas para especificar qué esquema (o esquemas) de autenticación conviene usar para autenticar al usuario. Al configurar la autenticación, es habitual especificar un esquema de autenticación predeterminado. A menos que un recurso solicite un esquema específico, se usará el predeterminado. También es posible:
Un controlador de autenticación:
Según la configuración del esquema de autenticación y el contexto de la solicitud entrante, los controladores de autenticación:
RemoteAuthenticationHandler<TOptions> es la clase para la autenticación que requiere un paso de autenticación remota. Una vez finalizado el paso de autenticación remota, el controlador vuelve a llamar al CallbackPath
establecido por el controlador. El controlador finaliza el paso de autenticación con la información que se pasa a la ruta de devolución de llamada HandleRemoteAuthenticateAsync. OAuth 2.0 y OIDC usan este patrón. JWT y cookies no lo usan, ya que pueden usar directamente el encabezado de portador y cookie para autenticarse. El proveedor hospedado de forma remota en este caso:
La acción de autenticación de un esquema de autenticación es responsable de construir la identidad del usuario en función del contexto de solicitud. Devuelve un AuthenticateResult que indica si la autenticación se realizó correctamente y, si es así, la identidad del usuario en un vale de autenticación. Vea AuthenticateAsync. Ejemplos de autenticación:
La autorización invoca un desafío de autenticación si un usuario no autenticado solicita un punto de conexión que requiere autenticación. Se emite un desafío de autenticación si, por ejemplo, un usuario anónimo solicita un recurso restringido o sigue un vínculo de inicio de sesión. La autorización invoca un desafío con los esquemas de autenticación especificados o con el valor predeterminado, si no se especifica ningún esquema. Vea ChallengeAsync. Ejemplos de desafío de autenticación:
www-authenticate: bearer
.Una acción de desafío debe permitir que el usuario sepa qué mecanismo de autenticación hay que emplear para tener acceso al recurso solicitado.
La autorización llama a una acción de prohibición del esquema de autenticación cuando un usuario autenticado intenta tener acceso a un recurso para el que no tiene permiso de acceso. Vea ForbidAsync. Ejemplos de prohibición de autenticación:
Una acción de prohibición puede permitir que los usuarios sepan que:
Consulte los vínculos siguientes para conocer las diferencias entre desafío y prohibición:
ASP.NET Core no tiene una solución integrada para la autenticación de varios inquilinos. Aunque es posible que los clientes escriban uno con las características integradas, se recomienda a los clientes Orchard Core, el Marco de ABP o Finbuckle.MultiTenant para la autenticación de varios inquilinos.
Orchard Core es:
Visite Orchard Core para ver un ejemplo de proveedores de autenticación por inquilino.
El Marco de ABP admite varios patrones arquitectónicos, como modularidad, microservicios, diseño controlado por dominios y de varios inquilinos. Consulte el origen del Marco de ABP en GitHub.
Finbuckle.MultiTenant:
Por Mike Rousos
La autenticación es el proceso de determinar la identidad de un usuario. Por su parte, la autorización consiste en determinar si un usuario tiene acceso a un recurso. En ASP.NET Core, la autenticación se controla mediante el servicio de autenticación, IAuthenticationService, que el middleware de autenticación emplea para conseguirlo. El servicio de autenticación usa controladores de autenticación registrados para completar las acciones relacionadas con la autenticación. Estos son algunos ejemplos de acciones relacionadas con la autenticación:
Los controladores de autenticación registrados y sus opciones de configuración se denominan "esquemas".
Para especificar esquemas de autenticación, es necesario registrar servicios de autenticación en Program.cs
:
AuthenticationBuilder.AddScheme
directamente.Por ejemplo, el código siguiente registra los servicios de autenticación y los controladores para los esquemas de autenticación de portador de JWT y de cookie:
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("JwtSettings", options))
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("CookieSettings", options));
El parámetro AddAuthentication
de JwtBearerDefaults.AuthenticationScheme es el nombre del esquema que se usará de forma predeterminada si no se solicita un esquema específico.
Si se usan varios esquemas, las directivas de autorización (o los atributos de autorización) pueden especificar el esquema (o esquemas) de autenticación del que dependen para autenticar al usuario. En el ejemplo anterior, se podría especificar el nombre del esquema de autenticación de cookie (CookieAuthenticationDefaults.AuthenticationScheme de forma predeterminada, aunque se podría proporcionar otro nombre al llamar a AddCookie
).
En algunos casos, la llamada a AddAuthentication
se realiza automáticamente mediante otros métodos de extensión. Por ejemplo, al usar ASP.NET Core Identity, se llama a AddAuthentication
internamente.
Para agregar el middleware de autenticación en Program.cs
, se llama a UseAuthentication. La llamada a UseAuthentication
registra el middleware que usa los esquemas de autenticación previamente registrados. Llame a UseAuthentication
antes de registrar cualquier middleware que dependa de que los usuarios se autentiquen.
La autenticación es responsable de proporcionar el elemento ClaimsPrincipal para la autorización sobre el que tomar decisiones relativas a los permisos. Hay varios enfoques de esquema de autenticación para seleccionar el controlador de autenticación responsable de la generación del conjunto de notificaciones correcto:
No hay sondeos automáticos de esquemas. Si no se especifica el esquema predeterminado, el esquema se debe especificar en el atributo authorize; de lo contrario, se producirá el error siguiente:
InvalidOperationException: No se ha especificado authenticationScheme y no se ha encontrado DefaultAuthenticateScheme. Los esquemas predeterminados se pueden establecer mediante AddAuthentication(string defaultScheme) o AddAuthentication(Action<AuthenticationOptions> configureOptions).
El esquema de autenticación puede seleccionar el controlador de autenticación responsable de la generación del conjunto de notificaciones correcto. Para obtener más información, vea Autorizar con un esquema específico en ASP.NET Core.
Un esquema de autenticación es un nombre que corresponde a:
Los esquemas son útiles como mecanismo para hacer referencia a los comportamientos de autenticación, desafío y prohibición del controlador asociado. Por ejemplo, una directiva de autorización puede usar nombres de esquemas para especificar qué esquema (o esquemas) de autenticación conviene usar para autenticar al usuario. Al configurar la autenticación, es habitual especificar un esquema de autenticación predeterminado. A menos que un recurso solicite un esquema específico, se usará el predeterminado. También es posible:
Un controlador de autenticación:
Según la configuración del esquema de autenticación y el contexto de la solicitud entrante, los controladores de autenticación:
RemoteAuthenticationHandler<TOptions> es la clase para la autenticación que requiere un paso de autenticación remota. Una vez finalizado el paso de autenticación remota, el controlador vuelve a llamar al CallbackPath
establecido por el controlador. El controlador finaliza el paso de autenticación con la información que se pasa a la ruta de devolución de llamada HandleRemoteAuthenticateAsync. OAuth 2.0 y OIDC usan este patrón. JWT y cookies no lo usan, ya que pueden usar directamente el encabezado de portador y cookie para autenticarse. El proveedor hospedado de forma remota en este caso:
La acción de autenticación de un esquema de autenticación es responsable de construir la identidad del usuario en función del contexto de solicitud. Devuelve un AuthenticateResult que indica si la autenticación se realizó correctamente y, si es así, la identidad del usuario en un vale de autenticación. Vea AuthenticateAsync. Ejemplos de autenticación:
La autorización invoca un desafío de autenticación si un usuario no autenticado solicita un punto de conexión que requiere autenticación. Se emite un desafío de autenticación si, por ejemplo, un usuario anónimo solicita un recurso restringido o sigue un vínculo de inicio de sesión. La autorización invoca un desafío con los esquemas de autenticación especificados o con el valor predeterminado, si no se especifica ningún esquema. Vea ChallengeAsync. Ejemplos de desafío de autenticación:
www-authenticate: bearer
.Una acción de desafío debe permitir que el usuario sepa qué mecanismo de autenticación hay que emplear para tener acceso al recurso solicitado.
La autorización llama a una acción de prohibición del esquema de autenticación cuando un usuario autenticado intenta tener acceso a un recurso para el que no tiene permiso de acceso. Vea ForbidAsync. Ejemplos de prohibición de autenticación:
Una acción de prohibición puede permitir que los usuarios sepan que:
Consulte los vínculos siguientes para conocer las diferencias entre desafío y prohibición:
ASP.NET Core no tiene una solución integrada para la autenticación de varios inquilinos. Aunque es posible que los clientes escriban uno con las características integradas, se recomienda a los clientes Orchard Core o el Marco de ABP para la autenticación de varios inquilinos.
Orchard Core es:
Visite Orchard Core para ver un ejemplo de proveedores de autenticación por inquilino.
El Marco de ABP admite varios patrones arquitectónicos, como modularidad, microservicios, diseño controlado por dominios y de varios inquilinos. Consulte el origen del Marco de ABP en GitHub.
Por Mike Rousos
La autenticación es el proceso de determinar la identidad de un usuario. Por su parte, la autorización consiste en determinar si un usuario tiene acceso a un recurso. En ASP.NET Core, la autenticación se controla mediante el servicio de autenticación, IAuthenticationService, que el middleware de autenticación emplea para conseguirlo. El servicio de autenticación usa controladores de autenticación registrados para completar las acciones relacionadas con la autenticación. Estos son algunos ejemplos de acciones relacionadas con la autenticación:
Los controladores de autenticación registrados y sus opciones de configuración se denominan "esquemas".
Para especificar esquemas de autenticación, es necesario registrar servicios de autenticación en Startup.ConfigureServices
:
AuthenticationBuilder.AddScheme
directamente.Por ejemplo, el código siguiente registra los servicios de autenticación y los controladores para los esquemas de autenticación de portador de JWT y de cookie:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme,
options => Configuration.Bind("JwtSettings", options))
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme,
options => Configuration.Bind("CookieSettings", options));
El parámetro AddAuthentication
de JwtBearerDefaults.AuthenticationScheme es el nombre del esquema que se usará de forma predeterminada si no se solicita un esquema específico.
Si se usan varios esquemas, las directivas de autorización (o los atributos de autorización) pueden especificar el esquema (o esquemas) de autenticación del que dependen para autenticar al usuario. En el ejemplo anterior, se podría especificar el nombre del esquema de autenticación de cookie (CookieAuthenticationDefaults.AuthenticationScheme de forma predeterminada, aunque se podría proporcionar otro nombre al llamar a AddCookie
).
En algunos casos, la llamada a AddAuthentication
se realiza automáticamente mediante otros métodos de extensión. Por ejemplo, al usar ASP.NET Core Identity, se llama a AddAuthentication
internamente.
Para agregar el middleware de autenticación en Startup.Configure
, se llama a UseAuthentication. La llamada a UseAuthentication
registra el middleware que usa los esquemas de autenticación previamente registrados. Llame a UseAuthentication
antes de registrar cualquier middleware que dependa de que los usuarios se autentiquen. Al usar el enrutamiento de punto de conexión, la llamada a UseAuthentication
debe ir:
La autenticación es responsable de proporcionar el elemento ClaimsPrincipal para la autorización sobre el que tomar decisiones relativas a los permisos. Hay varios enfoques de esquema de autenticación para seleccionar el controlador de autenticación responsable de la generación del conjunto de notificaciones correcto:
No hay sondeos automáticos de esquemas. Si no se especifica el esquema predeterminado, el esquema se debe especificar en el atributo authorize; de lo contrario, se producirá el error siguiente:
InvalidOperationException: No se ha especificado authenticationScheme y no se ha encontrado DefaultAuthenticateScheme. Los esquemas predeterminados se pueden establecer mediante AddAuthentication(string defaultScheme) o AddAuthentication(Action<AuthenticationOptions> configureOptions).
El esquema de autenticación puede seleccionar el controlador de autenticación responsable de la generación del conjunto de notificaciones correcto. Para obtener más información, vea Autorizar con un esquema específico en ASP.NET Core.
Un esquema de autenticación es un nombre que corresponde a:
Los esquemas son útiles como mecanismo para hacer referencia a los comportamientos de autenticación, desafío y prohibición del controlador asociado. Por ejemplo, una directiva de autorización puede usar nombres de esquemas para especificar qué esquema (o esquemas) de autenticación conviene usar para autenticar al usuario. Al configurar la autenticación, es habitual especificar un esquema de autenticación predeterminado. A menos que un recurso solicite un esquema específico, se usará el predeterminado. También es posible:
Un controlador de autenticación:
Según la configuración del esquema de autenticación y el contexto de la solicitud entrante, los controladores de autenticación:
RemoteAuthenticationHandler<TOptions> es la clase para la autenticación que requiere un paso de autenticación remota. Una vez finalizado el paso de autenticación remota, el controlador vuelve a llamar al CallbackPath
establecido por el controlador. El controlador finaliza el paso de autenticación con la información que se pasa a la ruta de devolución de llamada HandleRemoteAuthenticateAsync. OAuth 2.0 y OIDC usan este patrón. JWT y cookies no lo usan, ya que pueden usar directamente el encabezado de portador y cookie para autenticarse. El proveedor hospedado de forma remota en este caso:
La acción de autenticación de un esquema de autenticación es responsable de construir la identidad del usuario en función del contexto de solicitud. Devuelve un AuthenticateResult que indica si la autenticación se realizó correctamente y, si es así, la identidad del usuario en un vale de autenticación. Vea AuthenticateAsync. Ejemplos de autenticación:
La autorización invoca un desafío de autenticación si un usuario no autenticado solicita un punto de conexión que requiere autenticación. Se emite un desafío de autenticación si, por ejemplo, un usuario anónimo solicita un recurso restringido o sigue un vínculo de inicio de sesión. La autorización invoca un desafío con los esquemas de autenticación especificados o con el valor predeterminado, si no se especifica ningún esquema. Vea ChallengeAsync. Ejemplos de desafío de autenticación:
www-authenticate: bearer
.Una acción de desafío debe permitir que el usuario sepa qué mecanismo de autenticación hay que emplear para tener acceso al recurso solicitado.
La autorización llama a una acción de prohibición del esquema de autenticación cuando un usuario autenticado intenta tener acceso a un recurso para el que no tiene permiso de acceso. Vea ForbidAsync. Ejemplos de prohibición de autenticación:
Una acción de prohibición puede permitir que los usuarios sepan que:
Consulte los vínculos siguientes para conocer las diferencias entre desafío y prohibición:
El marco ASP.NET Core no tiene una solución integrada para la autenticación de varios inquilinos. Aunque es posible que los clientes escriban una aplicación con autenticación de varios inquilinos, se recomienda usar uno de los siguientes marcos de aplicación ASP.NET Core que admiten la autenticación de varios inquilinos:
Orchard Core. Visite Orchard Core para ver un ejemplo de proveedores de autenticación por inquilino.
El Marco de ABP admite varios patrones arquitectónicos, como modularidad, microservicios, diseño controlado por dominios y de varios inquilinos. Consulte el origen del Marco de ABP en GitHub.
Comentarios de ASP.NET Core
ASP.NET Core es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Eventos
Campeonato mundial de DataViz de Power BI
14 feb, 16 - 31 mar, 16
Con 4 posibilidades de entrar, podrías ganar un paquete de conferencia y convertirlo en el Live Grand Finale en Las Vegas
Saber más