Я пытаюсь найти решение для проверки подлинности в своем новом приложении, и мне нравится подход IdentityServer3. Я хотел бы надеяться, что мои требования будут удовлетворены IdentityServer3, и это просто мое отсутствие понимания из-за моей новизны с технологией.IdentityServer3 + Active Directory + Self-Hosted User db
Мои требования заключаются в следующем и в порядке их выполнения: 1) Если пользователь, запрашивающий аутентификацию, является локальным (доменным) пользователем, он должен автоматически аутентифицироваться с использованием Active Directory. 2) Если пользователь, запрашивающий аутентификацию, не найден в Active Directory, он должен быть аутентифицирован против нашей собственной таблицы пользователей. 3) Если пользователь, запрашивающий аутентификацию, не имеет ни полномочий, мы можем предоставить доступ через учетные данные Google или Facebook, но это не требование фазы I.
В настоящее время у меня есть действующее доказательство концепции с использованием IdentityServer3 в качестве автономного сервера безопасности, который извлекает записи из InMemoryUsers, InMemoryClients и InMemoryScopes, и я уверен, что смогу расширить эти концепции для вытаскивания из наших собственных база данных.
Эта проблема возникает, когда я пытаюсь использовать Active Directory в качестве первой контрольной точки.
Я рассмотрел несколько ресурсов в попытке выполнить Active Directory, но я все сработал, так как я не вижу ни одной сжатой демонстрации, которая показывает часть головоломки AD.
TJ Robinson имеет Gist ActiveDirectoryUserService, который реализует IUserService, и это выглядит наиболее перспективным, но из-за моего состояния n00b я не могу понять, как его перевернуть в схему.
Я был бы очень признателен за любые предложения и, возможно, ссылки на примеры того, как выполнить аутентификацию AD сначала с откатом от локальной аутентификации.
Спасибо заранее, Ric
@sbennur выглядит так, как будто у него тоже была проблема ... по крайней мере, когда дело доходит до части AD. К сожалению, он не показал полноэкранный пример того, как он был перенесен в файл 'Startup.cs' его Проект IdentityServer3. –
rcastagna