В настоящее время я работаю над проектом, у которого есть требование, которое вызывает у меня некоторые проблемы, и я хочу знать, как лучше его обрабатывать.
По сути, мы хотели бы, чтобы внутренние пользователи имели доступ к приложению MVC и были аутентифицированы через AD, это мы хотим быть похожими на SSO, они подписываются на свой компьютер, перейдя на сайт, и они находятся.
Второй тип пользователей - это внешние партнеры, которых нет в нашем AD, и мы хотим управлять через наш SQL Server. Для этих пользователей мы хотим отобразить страницу входа и выполнить проверку подлинности форм.
Мои мысли вначале были простыми, пусть IIS пытается и аутентифицируется с помощью проверки подлинности Windows, и если он не работает (401), перенаправляется на страницу входа. В настоящее время у меня нет среды для тестирования, но из моего понимания в IIS7 это не так просто и требует немного "взлома" для выполнения. Мне нужно избегать чего-то подобного. Мне нужно решение, которое работает, поскольку система была разработана для работы, а не путем обмана.
Я просмотрел ADFS и WIF, но ADFS поддерживает только AD, а не SQL, и из того, что я видел, нет STS, поддерживающего SQL Server. Я предполагал разместить как внутреннее приложение, использующее проверку подлинности Windows, так и внешнее приложение, использующее проверку подлинности форм, но я хочу избежать этого, если это возможно.
В идеале поток, который мы хотим, является пользователем, который переходит в приложение MVC. IIS пытается выполнить проверку подлинности Windows, если он не работает (401), перенаправляет их на страницу входа в систему. Оттуда страница входа в систему будет аутентифицировать учетные данные пользователя в базе данных SQL. Каков наилучший способ выполнить все это в рамках приложения 1 MVC?
Спасибо!