【发布时间】:2012-11-01 12:41:01
【问题描述】:
我们扩展了Windows Identity Foundation (WIF) 提供的SecurityTokenService。它按预期发出令牌,并在调用我们拥有的所有其他 WCF 服务时将 SAML 令牌添加到 SOAP 标头中。
我可以在安全令牌中的NotBefore 和NotOnOrAfter Saml 条件中看到正确的值。
但令人惊讶的是,即使在NotOnOrAfter Saml 条件中出现的时间戳之后调用服务,对其他 WCF 服务的每次调用也会成功,该条件出现在 SOAP 标头中的安全令牌中。
- 我不明白为什么会这样。我是否需要编写一些代码来拒绝安全令牌过期的呼叫?
- 我是否需要为其创建自定义绑定或行为?
- WIF 或 WCF 不会自动处理这个基本的事情吗?
- 如果您能指出一些很好的文档来解释幕后发生的事情,那就太好了!
我正在使用 .NET 4.0
【问题讨论】:
-
只是猜测:您的 WCF 服务是否使用会话?我不一定希望令牌在会话中间被重新评估以过期。
-
我们不使用会话...
-
这是 WS-Federation(网页)还是 WS-Trust(活动客户端)方案?
-
@Grzegorz Wilczura:我们没有任何网页。我们有使用 STS 保护的 WCF 服务。 Client 是一个 WinForm 应用程序,它使用 STS 对用户进行身份验证,获取安全令牌并调用其他 WCF 服务。
-
@Grzegorz Wilczura:使用 .NET 4.0
标签: .net wcf web-services wif sts-securitytokenservice