Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Автор Майк Роусос
Проверка подлинности — это процесс определения удостоверения пользователя. Authorization — это процесс определения того, имеет ли пользователь доступ к ресурсу. В ASP.NET Core проверка подлинности обрабатывается службой проверки подлинности IAuthenticationService, которая используется middleware. Служба проверки подлинности использует зарегистрированные обработчики для выполнения связанных с проверкой подлинности действий. Примеры действий, связанных с аутентификацией, включают:
- Проверка подлинности пользователя.
- Реакция на попытку неавторизованного пользователя получить доступ к ограниченному ресурсу.
Зарегистрированные обработчики проверки подлинности и их параметры конфигурации называются "схемами".
Схемы проверки подлинности задаются путем регистрации служб проверки подлинности в Program.cs следующими способами:
- После вызова AddAuthentication, например, AddJwtBearer или AddCookie, можно вызвать метод расширения, специфичный для конкретной схемы. Эти методы расширения используют AuthenticationBuilder.AddScheme для регистрации схем с соответствующими параметрами.
- Менее часто путем вызова
AuthenticationBuilder.AddSchemeнапрямую.
Например, следующий код регистрирует службы аутентификации и обработчики для схем аутентификации cookie и JWT Bearer.
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("JwtSettings", options))
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("CookieSettings", options));
Параметр AddAuthenticationJwtBearerDefaults.AuthenticationScheme — это имя схемы, используемой по умолчанию, когда конкретная схема не запрашивается.
Если используется множество схем, в политиках (или атрибутах) авторизации можно указать конкретные схемы, применяемые для проверки подлинности пользователя. В приведенном выше примере схема аутентификации cookie может использоваться путем указания ее имени (CookieAuthenticationDefaults.AuthenticationScheme по умолчанию, однако можно указать другое имя при вызове AddCookie).
В некоторых случаях AddAuthentication автоматически вызывается другими методами расширения. Например, при использовании ASP.NET Core Identity внутренне вызывается AddAuthentication.
ПО промежуточного слоя для проверки подлинности добавляется в Program.cs путем вызова UseAuthentication. Вызов UseAuthentication регистрирует ПО промежуточного слоя, использующее зарегистрированные ранее схемы проверки подлинности. Следует вызывать UseAuthentication перед вызовом любого ПО промежуточного слоя, требующего проверки подлинности пользователей.
Проверка подлинности: основные понятия
Проверка подлинности отвечает за предоставление ClaimsPrincipal для авторизации, чтобы принимать решения о разрешениях. Существует несколько подходов к схеме проверки подлинности для выбора обработчика проверки подлинности, отвечающего за создание правильного набора утверждений.
- Схема проверки подлинности
- Схема проверки подлинности по умолчанию, описанная в следующих двух разделах.
- Настройте HttpContext.User напрямую.
Если зарегистрирована только одна схема проверки подлинности, она становится схемой по умолчанию. Если зарегистрировано несколько схем и схема по умолчанию не указана, в атрибуте авторизации необходимо указать схему, в противном случае возникает следующая ошибка:
InvalidOperationException: не указана схема аутентификации, и не указано значение DefaultAuthenticateScheme (схема аутентификации по умолчанию). Схемы по умолчанию можно задать с помощью AddAuthentication(string defaultScheme) или AddAuthentication(Action<AuthenticationOptions> configureOptions).
DefaultScheme
Если зарегистрирована только одна схема проверки подлинности, одна схема проверки подлинности:
- Автоматически используется в качестве DefaultScheme.
- Устраняет необходимость указания
DefaultSchemeв AddAuthentication(IServiceCollection) или AddAuthenticationCore(IServiceCollection).
Чтобы отключить автоматическое использование одной схемы проверки подлинности, вызовите DefaultScheme.
Схема проверки подлинности
Схема проверки подлинности служит для выбора обработчика проверки подлинности, отвечающего за создание правильного набора утверждений. Дополнительные сведения см. в статье Авторизация с использованием определенной схемы.
Схема проверки подлинности — это имя, соответствующее следующим элементам:
- обработчик проверки подлинности;
- параметры для настройки конкретного экземпляра обработчика.
Схемы выполняют роль механизма, определяющего действия проверки подлинности, проверочного запроса и запрета для связанного обработчика. Например, политика авторизации может использовать имена схем для указания схемы или схем авторизации, которые должны использоваться для проверки подлинности пользователя. При настройке проверки подлинности обычно задается схема проверки подлинности по умолчанию. Она применяется, если ресурс не запрашивает конкретную схему. Также доступны следующие возможности:
- Можно указать разные схемы аутентификации по умолчанию для действий аутентификации, вызова и запрещения.
- Можно объединить несколько схем в одну, используя схемы политик.
Обработчик проверки подлинности
Обработчик проверки подлинности:
- является типом, который реализует поведение схемы;
- является производным от IAuthenticationHandler или AuthenticationHandler<TOptions>;
- служит главным образом для проверки подлинности пользователей.
В зависимости от конфигурации схемы проверки подлинности и контекста входящего запроса обработчики проверки подлинности:
- Создайте AuthenticationTicket объекты, представляющие удостоверение пользователя, если проверка подлинности выполнена успешно.
- Возвращают "нет результата" или "сбой", если проверка подлинности не пройдена.
- Методы вызова и запрета действий, когда пользователи пытаются получить доступ к ресурсам.
- Они не имеют права доступа (запрещено).
- не пройдена проверка подлинности (требуется проверка подлинности).
RemoteAuthenticationHandler<TOptions> и AuthenticationHandler<TOptions>
RemoteAuthenticationHandler<TOptions> — это класс для проверки подлинности, для которого требуется шаг удаленной проверки подлинности. По завершении шага удаленной проверки подлинности обработчик выполняет обратный вызов к CallbackPath (задано обработчиком). Обработчик завершает этап проверки подлинности, используя сведения, передаваемые в путь обратного вызова HandleRemoteAuthenticateAsync.
OAuth 2.0 и OIDC оба используют этот шаблон. JWT и файлы cookie не так как они могут напрямую использовать заголовок носителя и cookie пройти проверку подлинности. В этом случае удаленно размещенный поставщик
- является поставщиком аутентификации.
- Примеры: Facebook, Twitter, Google, Microsoft и любой другой поставщик OIDC, который обрабатывает проверку подлинности пользователей с помощью механизма обработчиков.
Аутентификация
Действие аутентификации схемы отвечает за создание идентичности пользователя на основе контекста запроса. Он возвращает AuthenticateResult значение, указывающее, была ли проверка подлинности успешной и, если да, идентификационные данные пользователя в билете проверки подлинности. См. AuthenticateAsync. Примеры аутентификации:
- cookie Схема проверки подлинности, создающая удостоверение пользователя из файлов cookie.
- Схема десериализации и проверки маркера носителя JWT для создания удостоверения пользователя.
Задача
Проверочный запрос вызывается процессом авторизации, когда пользователь, не прошедший проверку подлинности, запрашивает доступ к конечной точке, требующей проверку. Запрос на аутентификацию выдается, например, если анонимный пользователь обращается к ресурсу с ограниченным доступом или переходит по ссылке для входа. Авторизация вызывает проблему с помощью указанных схем проверки подлинности или по умолчанию, если ни один из них не указан. См. ChallengeAsync. Примеры проверочных вызовов аутентификации:
- Схема аутентификации cookie перенаправляет пользователя на страницу входа.
- Схема носителя JWT возвращает ответ 401 с заголовком
www-authenticate: bearer.
Действие вызова должно сообщить пользователю, какой механизм аутентификации следует использовать для доступа к запрошенному ресурсу.
Запрет
Действие запрета схемы проверки подлинности вызывается авторизацией, когда пользователь, прошедший проверку подлинности, пытается получить доступ к ресурсу, к которому у него нет доступа. См. ForbidAsync. Примеры запрета проверки подлинности:
- Схема аутентификации cookie перенаправляет пользователя на страницу, указывающую, что доступ запрещен.
- Схема носителя JWT возвращает код 403.
- Пользовательская схема аутентификации, которая перенаправляет на страницу, где пользователь может запросить доступ к ресурсу.
Действие запрета может сообщить пользователю следующее:
- Они прошли проверку подлинности.
- ** Им не разрешено получать доступ к запрошенному ресурсу.
См. различия между вызовом и запретом по следующим ссылкам:
Поставщики проверки подлинности для отдельного клиента
ASP.NET Core не имеет встроенного решения для многотенантной проверки подлинности. Хотя клиенты могут написать его с помощью встроенных функций, мы рекомендуем клиентам рассмотреть Orchard Core, ABP Framework или Finbuckle.MultiTenant для многотенантной проверки подлинности.
Orchard Core — это:
- Платформа приложений с открытым кодом, модульная и мультитенантная платформа, созданная с помощью ASP.NET Core.
- система управления содержимым (CMS), созданная на основе этой платформы приложений.
Пример поставщиков проверки подлинности для каждого клиента см. в источнике Orchard Core.
ABP Framework поддерживает различные архитектурные шаблоны, включая модульность, микрослужбы, проектирование на основе домена и мультитенантность. См. источник ABP Framework в GitHub.
Finbuckle.MultiTenant:
- Открытый исходный код
- Обеспечивает разрешение арендатора
- легковесный
- Обеспечивает изоляцию данных
- Настройте поведение приложения по-разному для каждого арендатора
Дополнительные ресурсы
Автор Майк Роусос
Проверка подлинности — это процесс определения удостоверения пользователя. Authorization — это процесс определения того, имеет ли пользователь доступ к ресурсу. В ASP.NET Core проверка подлинности обрабатывается службой проверки подлинности IAuthenticationService, которая используется middleware. Служба проверки подлинности использует зарегистрированные обработчики для выполнения связанных с проверкой подлинности действий. Примеры действий, связанных с аутентификацией, включают:
- Проверка подлинности пользователя.
- Реакция на попытку неавторизованного пользователя получить доступ к ограниченному ресурсу.
Зарегистрированные обработчики проверки подлинности и их параметры конфигурации называются "схемами".
Схемы проверки подлинности задаются путем регистрации служб проверки подлинности в Program.cs следующими способами:
- После вызова AddAuthentication, например, AddJwtBearer или AddCookie, можно вызвать метод расширения, специфичный для конкретной схемы. Эти методы расширения используют AuthenticationBuilder.AddScheme для регистрации схем с соответствующими параметрами.
- Менее часто путем вызова
AuthenticationBuilder.AddSchemeнапрямую.
Например, следующий код регистрирует службы аутентификации и обработчики для схем аутентификации cookie и JWT Bearer.
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("JwtSettings", options))
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme,
options => builder.Configuration.Bind("CookieSettings", options));
Параметр AddAuthenticationJwtBearerDefaults.AuthenticationScheme — это имя схемы, используемой по умолчанию, когда конкретная схема не запрашивается.
Если используется множество схем, в политиках (или атрибутах) авторизации можно указать конкретные схемы, применяемые для проверки подлинности пользователя. В приведенном выше примере схема аутентификации cookie может использоваться путем указания ее имени (CookieAuthenticationDefaults.AuthenticationScheme по умолчанию, однако можно указать другое имя при вызове AddCookie).
В некоторых случаях AddAuthentication автоматически вызывается другими методами расширения. Например, при использовании ASP.NET Core Identity внутренне вызывается AddAuthentication.
ПО промежуточного слоя для проверки подлинности добавляется в Program.cs путем вызова UseAuthentication. Вызов UseAuthentication регистрирует ПО промежуточного слоя, использующее зарегистрированные ранее схемы проверки подлинности. Следует вызывать UseAuthentication перед вызовом любого ПО промежуточного слоя, требующего проверки подлинности пользователей.
Проверка подлинности: основные понятия
Проверка подлинности отвечает за предоставление ClaimsPrincipal для авторизации, чтобы принимать решения о разрешениях. Существует несколько подходов к схеме проверки подлинности для выбора обработчика проверки подлинности, отвечающего за создание правильного набора утверждений.
- Схема проверки подлинности
- Схема проверки подлинности по умолчанию, описанная в следующем разделе.
- Настройте HttpContext.User напрямую.
Автоматическая проверка схем не предусмотрена. Если схема по умолчанию не указана, ее следует указать в атрибуте авторизации. В противном случае возникает следующая ошибка:
InvalidOperationException: не указана схема аутентификации, и не указано значение DefaultAuthenticateScheme (схема аутентификации по умолчанию). Схемы по умолчанию можно задать с помощью AddAuthentication(string defaultScheme) или AddAuthentication(Action<AuthenticationOptions> configureOptions).
Схема проверки подлинности
Схема проверки подлинности служит для выбора обработчика проверки подлинности, отвечающего за создание правильного набора утверждений. Дополнительные сведения см. в статье Авторизация с использованием определенной схемы.
Схема проверки подлинности — это имя, соответствующее следующим элементам:
- обработчик проверки подлинности;
- параметры для настройки конкретного экземпляра обработчика.
Схемы выполняют роль механизма, определяющего действия проверки подлинности, проверочного запроса и запрета для связанного обработчика. Например, политика авторизации может использовать имена схем для указания схемы или схем авторизации, которые должны использоваться для проверки подлинности пользователя. При настройке проверки подлинности обычно задается схема проверки подлинности по умолчанию. Она применяется, если ресурс не запрашивает конкретную схему. Также доступны следующие возможности:
- Можно указать разные схемы аутентификации по умолчанию для действий аутентификации, вызова и запрещения.
- Можно объединить несколько схем в одну, используя схемы политик.
Обработчик проверки подлинности
Обработчик проверки подлинности:
- является типом, который реализует поведение схемы;
- является производным от IAuthenticationHandler или AuthenticationHandler<TOptions>;
- служит главным образом для проверки подлинности пользователей.
В зависимости от конфигурации схемы проверки подлинности и контекста входящего запроса обработчики проверки подлинности:
- Создайте AuthenticationTicket объекты, представляющие удостоверение пользователя, если проверка подлинности выполнена успешно.
- Возвращают "нет результата" или "сбой", если проверка подлинности не пройдена.
- Методы вызова и запрета действий, когда пользователи пытаются получить доступ к ресурсам.
- Они не имеют права доступа (запрещено).
- не пройдена проверка подлинности (требуется проверка подлинности).
RemoteAuthenticationHandler<TOptions> и AuthenticationHandler<TOptions>
RemoteAuthenticationHandler<TOptions> — это класс для проверки подлинности, для которого требуется шаг удаленной проверки подлинности. По завершении шага удаленной проверки подлинности обработчик выполняет обратный вызов к CallbackPath (задано обработчиком). Обработчик завершает этап проверки подлинности, используя сведения, передаваемые в путь обратного вызова HandleRemoteAuthenticateAsync.
OAuth 2.0 и OIDC оба используют этот шаблон. JWT и файлы cookie не так как они могут напрямую использовать заголовок носителя и cookie пройти проверку подлинности. В этом случае удаленно размещенный поставщик
- является поставщиком аутентификации.
- Примеры: Facebook, Twitter, Google, Microsoft и любой другой поставщик OIDC, который обрабатывает проверку подлинности пользователей с помощью механизма обработчиков.
Аутентификация
Действие аутентификации схемы отвечает за создание идентичности пользователя на основе контекста запроса. Он возвращает AuthenticateResult значение, указывающее, была ли проверка подлинности успешной и, если да, идентификационные данные пользователя в билете проверки подлинности. См. AuthenticateAsync. Примеры аутентификации:
- cookie Схема проверки подлинности, создающая удостоверение пользователя из файлов cookie.
- Схема десериализации и проверки маркера носителя JWT для создания удостоверения пользователя.
Задача
Проверочный запрос вызывается процессом авторизации, когда пользователь, не прошедший проверку подлинности, запрашивает доступ к конечной точке, требующей проверку. Запрос на аутентификацию выдается, например, если анонимный пользователь обращается к ресурсу с ограниченным доступом или переходит по ссылке для входа. Авторизация вызывает проблему с помощью указанных схем проверки подлинности или по умолчанию, если ни один из них не указан. См. ChallengeAsync. Примеры проверочных вызовов аутентификации:
- Схема аутентификации cookie перенаправляет пользователя на страницу входа.
- Схема носителя JWT возвращает ответ 401 с заголовком
www-authenticate: bearer.
Действие вызова должно сообщить пользователю, какой механизм аутентификации следует использовать для доступа к запрошенному ресурсу.
Запрет
Действие запрета схемы проверки подлинности вызывается авторизацией, когда пользователь, прошедший проверку подлинности, пытается получить доступ к ресурсу, к которому у него нет доступа. См. ForbidAsync. Примеры запрета проверки подлинности:
- Схема аутентификации cookie перенаправляет пользователя на страницу, указывающую, что доступ запрещен.
- Схема носителя JWT возвращает код 403.
- Пользовательская схема аутентификации, которая перенаправляет на страницу, где пользователь может запросить доступ к ресурсу.
Действие запрета может сообщить пользователю следующее:
- Они прошли проверку подлинности.
- ** Им не разрешено получать доступ к запрошенному ресурсу.
См. различия между вызовом и запретом по следующим ссылкам:
Поставщики проверки подлинности для отдельного клиента
ASP.NET Core не имеет встроенного решения для многотенантной проверки подлинности. Хотя клиенты могут написать его с помощью встроенных функций, мы рекомендуем клиентам рассмотреть Orchard Core или ABP Framework для многотенантной проверки подлинности.
Orchard Core — это:
- Платформа приложений с открытым кодом, модульная и мультитенантная платформа, созданная с помощью ASP.NET Core.
- система управления содержимым (CMS), созданная на основе этой платформы приложений.
Пример поставщиков проверки подлинности для каждого клиента см. в источнике Orchard Core.
ABP Framework поддерживает различные архитектурные шаблоны, включая модульность, микрослужбы, проектирование на основе домена и мультитенантность. См. источник ABP Framework в GitHub.
Дополнительные ресурсы
Автор Майк Роусос
Проверка подлинности — это процесс определения удостоверения пользователя. Authorization — это процесс определения того, имеет ли пользователь доступ к ресурсу. В ASP.NET Core проверка подлинности обрабатывается службой проверки подлинности IAuthenticationService, которая используется middleware. Служба проверки подлинности использует зарегистрированные обработчики для выполнения связанных с проверкой подлинности действий. Примеры действий, связанных с аутентификацией, включают:
- Проверка подлинности пользователя.
- Реакция на попытку неавторизованного пользователя получить доступ к ограниченному ресурсу.
Зарегистрированные обработчики проверки подлинности и их параметры конфигурации называются "схемами".
Схемы проверки подлинности задаются путем регистрации служб проверки подлинности в Startup.ConfigureServices следующими способами:
- После вызова AddAuthentication следует вызвать метод расширения, специфичный для схемы, например, AddJwtBearer или AddCookie. Эти методы расширения используют AuthenticationBuilder.AddScheme для регистрации схем с соответствующими параметрами.
- Менее часто путем вызова
AuthenticationBuilder.AddSchemeнапрямую.
Например, следующий код регистрирует службы аутентификации и обработчики для схем аутентификации cookie и JWT Bearer.
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme,
options => Configuration.Bind("JwtSettings", options))
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme,
options => Configuration.Bind("CookieSettings", options));
Параметр AddAuthenticationJwtBearerDefaults.AuthenticationScheme — это имя схемы, используемой по умолчанию, когда конкретная схема не запрашивается.
Если используется множество схем, в политиках (или атрибутах) авторизации можно указать конкретные схемы, применяемые для проверки подлинности пользователя. В приведенном выше примере схема аутентификации cookie может использоваться путем указания ее имени (CookieAuthenticationDefaults.AuthenticationScheme по умолчанию, однако можно указать другое имя при вызове AddCookie).
В некоторых случаях AddAuthentication автоматически вызывается другими методами расширения. Например, при использовании ASP.NET Core Identity внутренне вызывается AddAuthentication.
ПО промежуточного слоя для проверки подлинности добавляется в Startup.Configure путем вызова UseAuthentication. Вызов UseAuthentication регистрирует ПО промежуточного слоя, использующее зарегистрированные ранее схемы проверки подлинности. Следует вызывать UseAuthentication перед вызовом любого ПО промежуточного слоя, требующего проверки подлинности пользователей. При использовании маршрутизации конечных точек метод UseAuthentication необходимо вызывать в следующем порядке:
- После UseRouting, чтобы информация о маршруте была доступна для принятия решений аутентификации.
- До UseEndpoints, чтобы пользователи проходили проверку подлинности перед доступом к конечным точкам.
Проверка подлинности: основные понятия
Проверка подлинности отвечает за предоставление ClaimsPrincipal для авторизации, чтобы принимать решения о разрешениях. Существует несколько подходов к схеме проверки подлинности для выбора обработчика проверки подлинности, отвечающего за создание правильного набора утверждений.
- Схема проверки подлинности
- Схема проверки подлинности по умолчанию, описанная в следующем разделе.
- Настройте HttpContext.User напрямую.
Автоматическая проверка схем не предусмотрена. Если схема по умолчанию не указана, ее следует указать в атрибуте авторизации. В противном случае возникает следующая ошибка:
InvalidOperationException: не указана схема аутентификации, и не указано значение DefaultAuthenticateScheme (схема аутентификации по умолчанию). Схемы по умолчанию можно задать с помощью AddAuthentication(string defaultScheme) или AddAuthentication(Action<AuthenticationOptions> configureOptions).
Схема проверки подлинности
Схема проверки подлинности служит для выбора обработчика проверки подлинности, отвечающего за создание правильного набора утверждений. Дополнительные сведения см. в статье Авторизация с использованием определенной схемы.
Схема проверки подлинности — это имя, соответствующее следующим элементам:
- обработчик проверки подлинности;
- параметры для настройки конкретного экземпляра обработчика.
Схемы выполняют роль механизма, определяющего действия проверки подлинности, проверочного запроса и запрета для связанного обработчика. Например, политика авторизации может использовать имена схем для указания схемы или схем авторизации, которые должны использоваться для проверки подлинности пользователя. При настройке проверки подлинности обычно задается схема проверки подлинности по умолчанию. Она применяется, если ресурс не запрашивает конкретную схему. Также доступны следующие возможности:
- Можно указать разные схемы аутентификации по умолчанию для действий аутентификации, вызова и запрещения.
- Можно объединить несколько схем в одну, используя схемы политик.
Обработчик проверки подлинности
Обработчик проверки подлинности:
- является типом, который реализует поведение схемы;
- является производным от IAuthenticationHandler или AuthenticationHandler<TOptions>;
- служит главным образом для проверки подлинности пользователей.
В зависимости от конфигурации схемы проверки подлинности и контекста входящего запроса обработчики проверки подлинности:
- Создайте AuthenticationTicket объекты, представляющие удостоверение пользователя, если проверка подлинности выполнена успешно.
- Возвращают "нет результата" или "сбой", если проверка подлинности не пройдена.
- Методы вызова и запрета действий, когда пользователи пытаются получить доступ к ресурсам.
- Они не имеют права доступа (запрещено).
- не пройдена проверка подлинности (требуется проверка подлинности).
RemoteAuthenticationHandler<TOptions> и AuthenticationHandler<TOptions>
RemoteAuthenticationHandler<TOptions> — это класс для проверки подлинности, для которого требуется шаг удаленной проверки подлинности. По завершении шага удаленной проверки подлинности обработчик выполняет обратный вызов к CallbackPath (задано обработчиком). Обработчик завершает этап проверки подлинности, используя сведения, передаваемые в путь обратного вызова HandleRemoteAuthenticateAsync.
OAuth 2.0 и OIDC оба используют этот шаблон. JWT и файлы cookie не так как они могут напрямую использовать заголовок носителя и cookie пройти проверку подлинности. В этом случае удаленно размещенный поставщик
- является поставщиком аутентификации.
- Примеры: Facebook, Twitter, Google, Microsoft и любой другой поставщик OIDC, который обрабатывает проверку подлинности пользователей с помощью механизма обработчиков.
Аутентификация
Действие аутентификации схемы отвечает за создание идентичности пользователя на основе контекста запроса. Он возвращает AuthenticateResult значение, указывающее, была ли проверка подлинности успешной и, если да, идентификационные данные пользователя в билете проверки подлинности. См. AuthenticateAsync. Примеры аутентификации:
- cookie Схема проверки подлинности, создающая удостоверение пользователя из файлов cookie.
- Схема десериализации и проверки маркера носителя JWT для создания удостоверения пользователя.
Задача
Проверочный запрос вызывается процессом авторизации, когда пользователь, не прошедший проверку подлинности, запрашивает доступ к конечной точке, требующей проверку. Запрос на аутентификацию выдается, например, если анонимный пользователь обращается к ресурсу с ограниченным доступом или переходит по ссылке для входа. Авторизация вызывает проблему с помощью указанных схем проверки подлинности или по умолчанию, если ни один из них не указан. См. ChallengeAsync. Примеры проверочных вызовов аутентификации:
- Схема аутентификации cookie перенаправляет пользователя на страницу входа.
- Схема носителя JWT возвращает ответ 401 с заголовком
www-authenticate: bearer.
Действие вызова должно сообщить пользователю, какой механизм аутентификации следует использовать для доступа к запрошенному ресурсу.
Запрет
Действие запрета схемы проверки подлинности вызывается авторизацией, когда пользователь, прошедший проверку подлинности, пытается получить доступ к ресурсу, к которому у него нет доступа. См. ForbidAsync. Примеры запрета проверки подлинности:
- Схема аутентификации cookie перенаправляет пользователя на страницу, указывающую, что доступ запрещен.
- Схема носителя JWT возвращает код 403.
- Пользовательская схема аутентификации, которая перенаправляет на страницу, где пользователь может запросить доступ к ресурсу.
Действие запрета может сообщить пользователю следующее:
- Они прошли проверку подлинности.
- ** Им не разрешено получать доступ к запрошенному ресурсу.
См. различия между вызовом и запретом по следующим ссылкам:
Поставщики проверки подлинности для отдельного клиента
ASP.NET Core платформа не имеет встроенного решения для многотенантной проверки подлинности. Хотя клиентам можно написать приложение с многотенантной проверкой подлинности, рекомендуется использовать одну из следующих платформ приложений ASP.NET Core, которые поддерживают многотенантную проверку подлинности.
Orchard Core — это платформа приложений с открытым исходным кодом, модульной и мультитенантной платформой, созданной с помощью ASP.NET Core, которая также предоставляет систему управления контентом (CMS). Пример поставщиков проверки подлинности для каждого клиента см. в источнике Orchard Core.
ABP Framework поддерживает различные архитектурные шаблоны, включая модульность, микрослужбы, проектирование на основе домена и многотенантность. См. источник ABP Framework в GitHub.
Дополнительные ресурсы
ASP.NET Core