В настоящее время я работаю над проектом, у которого есть требование аутентификации, которое вызывает у меня некоторые проблемы, и я хотел бы получить некоторые рекомендации по наилучшему способу его достижения..NET OWIN Authentication - Cookie + Windows (активная директория)
У меня есть проект C# MVC в Интернете, который в настоящее время имеет аутентификацию cookie OWIN для внешних пользователей. Теперь нам нужно разрешить внутренним пользователям получать доступ к приложению через Active Directory. В принципе, внутренний пользователь должен войти на свой компьютер под управлением Windows, перейти на веб-сайт, и они будут подписаны.
У меня нет опыта аутентификации AD, так что это немного черная дыра в момент.
Я предполагаю, используя OWIN, мне нужно создать новое промежуточное программное обеспечение для проверки подлинности, которое может выполняться до проверки подлинности cookie.
Однако я не уверен, с чего начать с установки этого промежуточного программного обеспечения AD, или существует ли существующее, которое я могу использовать.
Я пробовал искать, но, похоже, не нашел много информации об аутентификации AD через OWIN, есть много всего о Azure AD.
Я столкнулся с этим https://github.com/MohammadYounes/OWIN-MixedAuth, но работает локально, он использует базовую аутентификацию Windows, возможно, это может быть скорректировано для моих целей?
Может кто-нибудь предложить некоторые советы о том, как этого достичь?
Спасибо!
Спасибо за ваш ответ. Является ли Ntlm хорошим способом, из того, что я прочитал, он был отброшен в пользу Kerberos? Я не очень люблю ни одного из них, поэтому я мог бы говорить о неправильном. Есть ли способ сделать аутентификацию автоматически, не отправляя пользователя через другой URL-адрес для входа на сайт? –
Вы полностью правы, он был отброшен в пользу Kerberos, но Kerberos добавляет дополнительные требования к вашей инфраструктуре; вот большая информация об этом: http://serverfault.com/a/254835 Обратите внимание, что вы можете обойти большинство (связанных с безопасностью) ловушек NTLM, включив шифрование транспорта HTTPS/TLS (которое вы, вероятно, должны * делать в любом случае!) – pysco68
@ pysco68 У меня возникли проблемы с получением промежуточного программного обеспечения для работы с веб-приложением MVC5. В нем я разместил ссылку на точку входа NTLM на странице входа.Нажав на него, он отправляет его в поток аутентификации NTLM, а в IE, который будет запускаться, и в обратном вызове OnCreateIdentity, я предоставляю ClaimsIdentity. Тем не менее, это никогда не кажется нигде установленным, и в результате я возвращаюсь на страницу входа вместо returnUrl. В FireFox поток NTLM выглядит бесконечно, всегда представляя диалоговое окно входа. –