我一直在配置我的一些应用程序以使用 Windows Identity Foundation。我使用被动重定向从安全令牌服务获取安全令牌。我通过将 WIF 代码插入到我开始使用 WIF 之前存在的登录网站中,然后在应用程序中使用“添加 STS 引用”来完成此操作。
但是,我有一个不使用登录网站的应用程序。我认为我想做的是在应用程序本身内生成安全令牌,而不将用户重定向到外部 STS。
我尝试使用 ClaimsAuthenticationManager 类来完成此操作,但未成功,该类可用于向从外部 STS 接收的安全令牌添加额外的声明。但是,ClaimsAuthenticationManager 在这种情况下不起作用。不是每个会话仅调用一次 ClaimsAuthenticationManager (预期和期望的结果),而是在每次页面加载时调用它,而没有我在前一页面加载时分配给用户的声明的迹象。
我正在考虑创建一个外部 STS,它将为用户提供来自数据库的声明,但我认为这是一种危险。似乎没有理由我必须只为一个网站创建一个完全独立的 STS。我只想在我的应用程序中生成安全令牌。