#asp.net-core #identityserver4
#asp.net-core #identityserver4
Вопрос:
Мне нужно создать узел веб-приложения за пределами корпоративной сети. Однако он должен быть аутентифицирован с использованием Active Directory компании.
Приложение будет иметь сайт angular и некоторые Asp.Net основные службы веб-API. Angular будет проходить аутентификацию с использованием компании AD и использовать токен для доступа к службам web API, если он авторизован.
Я подумываю о создании Asp.Net основная служба внутри компании для аутентификации. Внешние компоненты получают доступ к нему через брандмауэр и проходят аутентификацию.
Является ли это допустимой архитектурой? Есть ли какой-нибудь пример?
Обновить:
Я планирую использовать IdentityServer4 для этого.
- Поддерживает ли он предстоящий .Сетевое ядро 3 / Asp.Net core 3?
- Есть ли какой-либо пример для IdentityServer интеграции Active Directory компании?
- Я думаю, мне нужно использовать образец пользовательского интерфейса в веб-интерфейсе или на рабочем столе, и мне нужен сервер для аутентификации входа с использованием AD и авторизации.
Комментарии:
1. Я бы не стал проходить аутентификацию с помощью angular, а вместо этого прошел бы аутентификацию с помощью Asp, а затем вернул токен в браузер. Но, по сути, это допустимая архитектура. Проверьте это: mikesdotnetting.com/article/216 /…
2. Вероятно, вы захотите использовать IdentityServer для этого. Он может подключать AD в качестве внешнего поставщика, что чем-то похоже на вход в систему через Google, Facebook и т.д. Прямая аутентификация Windows невозможна, если только все не находится в одном домене, что здесь невозможно, поэтому вашим пользователям придется фактически входить в систему, то есть вводить пользователя своего домена и пароль.
3. @ChrisPratt, это нормально, если пользователи вводят пользователя домена и пароль. Мне просто нужно аутентифицировать AD на данный момент. IdentityServer слишком тяжелый для этого? Является ли это бесплатным для использования? (Поэтому мне не нужно запрашивать одобрение).
4. IdentityServer является бесплатным с открытым исходным кодом. Он поддерживается .NET Foundation (хотя я думаю, что они предлагают платную поддержку / консультационные услуги).