Я настраивал некоторые из моих приложений для использования Windows Identity Foundation. Я использую пассивное перенаправление для получения маркеров безопасности из службы маркеров безопасности. Я достиг этого, вставив код WIF в веб-сайт входа в систему, который существовал до того, как я начал использовать WIF, а затем с помощью «Добавить ссылку на STS» в приложениях.
Однако у меня есть одно приложение, которое не использует веб-сайт входа в систему. Я думаю, что я хотел бы создать токен безопасности внутри самого приложения, не перенаправляя пользователя на внешний STS.
Я безуспешно пытался выполнить это с помощью класса ClaimsAuthenticationManager, который можно использовать для добавления дополнительных утверждений к токену безопасности, полученному от внешнего STS. Однако ClaimsAuthenticationManager не работает в этом контексте. Вместо того, чтобы вызывать ClaimsAuthenticationManager только один раз за сеанс (ожидаемый и желаемый результат), он вызывается при каждой загрузке страницы без признаков утверждений, которые я назначил пользователю при загрузке предыдущей страницы.
Я смотрю на создание внешнего STS, который предоставит пользователю требования из базы данных, но я вижу в этом опасность. Кажется, нет никаких причин, по которым я должен создать отдельную STS только для одного веб-сайта. Я хотел бы просто создать маркер безопасности в своем приложении.