Используйте локальный AD для аутентификации в веб-API asp.Net CoreC#

Место общения программистов C#
Ответить
Anonymous
 Используйте локальный AD для аутентификации в веб-API asp.Net Core

Сообщение Anonymous »

Отказ от ответственности:

Я новичок в аутентификации с помощью asp.Net, и хотя последние пару дней я искал в Интернете, мне хочется бегать по кругу, и я до сих пор не могу найти точку зрения. начать с.
Проблема:

У нас есть веб-приложение (Vue3/Typescript) который получает свои данные из веб-API (asp.net ядро). Веб-приложение и веб-API размещаются через IIS на одном сервере, поэтому мы внедрили политики CORS. Когда пользователи открывают веб-приложение в браузере, мы хотим аутентифицировать пользователя в локальном AD с использованием единого входа (SSO) через веб-API. AD существует в той же сети. Мы не хотим сохранять какую-либо информацию о пользователе в веб-API дольше, чем существует сеанс. Так что нет никаких таблиц для сохранения пользователей, ролей или чего-то еще. Роли должны быть настроены в AD, чтобы указать, кто имеет доступ к веб-API и может вызывать определенные конечные точки.
Я уже читал статьи в Microsoft Docs, но не до конца все понял. Прочитав статьи, я до сих пор не могу ответить на следующие вопросы:

[*]Всегда ли мне нужна личность?
[*]Где нужно ли мне реализовать информацию об AD, в которой я хочу аутентифицировать пользователя?
[*]В чем разница между реализацией Azure AD (AAD) и локальным AD, когда дело доходит до настройки приложение?
[*]Какую роль играет OpenId Connect (OIDC) и OAuth: необходимы или необязательны?
[*]Получаю ли я веб-токен JSON (JWT) из локального AD?

Я добавил промежуточное программное обеспечение для аутентификации в Startup.cs, но это все, что мне удалось.

Код: Выделить всё

public void ConfigureServices(IServiceCollection services)
{
services.Configure(options =>
{
options.AutomaticAuthentication = false;
});

services.AddDbContext();

services.AddSingleton();

services.AddAuthentication();

services.AddCors();

services.AddControllers();

services.AddMvc();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseHttpsRedirection();

app.UseRouting();

app.UseCors();

app.UseSession();

app.UseAuthentication();

app.UseAuthorization();

app.UseEndpoints();
}
Спасибо за любой намек в правильном направлении.
На следующем рисунке показана цель, которую мы пытаемся достичь, но мы не уверены, удастся ли это сделать и как это сделать. возможно, поскольку мы не хотим хранить какую-либо пользовательскую информацию в базе данных приложения.
[img]https://i.sstatic. net/PqU29.png[/img]


Подробнее здесь: https://stackoverflow.com/questions/676 ... re-web-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»