Я разрабатываю Angular JS SPA для своей компании, которая использует токены-носители для аутентификации пользователей. Используя ASP MCV в качестве задней части, я установил OWIN-промежуточное белье для обработки токенов-носителей на сервере. Мое намерение состоит в создании токенов-носителей для пользователей веб-приложения для блокировки открытых API-интерфейсов. Усложнение заключается в том, что мне нужно создать токен-носитель на основе Doamain \ Username пользователя AD, но для токенов-носителей для работы я не могу включить проверку подлинности Windows. Вход в систему не является вариантом, пользователь должен быть проверен на своих учетных данных AD.Как получить имя пользователя AD, чтобы инициировать аутентификацию токена на предъявителя с помощью angular-js SPA/ASP.NET-MCV
До сих пор, что мне удалось достичь: с проверкой подлинности Windows отключена и анонимной аутентификацией, я получил свой API, чтобы подтвердить запрос, основанный на предъявителя маркера, переданного ему в заголовке. Для этого я создал фиктивного пользователя.
Что мне нужно достичь: Получить имя пользователя AD в виде «ДОМЕН \ имя_пользователя» для пользователя, так что я могу создать маркер носителя, основанный на этом. (до сих пор я могу сделать это только при включенной проверке подлинности Windows)
Проблема, с которой я столкнулся, заключается в том, что я не могу включить проверку подлинности Windows, когда я поместил атрибут [Authorize] в API, он будет проверять на основе проверка подлинности Windows, независимо от допустимого токена на предъявителя или нет.
Возможно, вы думаете, что то, что я пытаюсь сделать, бессмысленно, поскольку у меня есть аутентификация Windows, но мне нужны токены-носители, чтобы API можно было вызывать только из моего SPA для обеспечения безопасности.
До сих пор мне удалось получить идентификатор пользователя, создав API в другом веб-проекте с включенной аутентификацией Windows, однако время загрузки страницы было затронуто, поэтому я хочу избежать этого, чтобы получить идентификатор пользователя.
Как вы получаете токен-носитель? – cmedine