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