我有一个使用 ADFS 作为身份验证模式的 asp.net 应用程序。我对 CRM 和这个网络应用程序有中继方信任。我想在令牌的生命周期到期时强制用户输入凭据,因为现在,当生命周期到期时,我将重定向到 ADFS 并自动登录 Web 应用程序。我想仅针对 Web 应用程序更改此行为,让 CRM 中继方保持原样。我应该更新应用程序的 web.config 中的哪些属性?是否可以通过 PowerShell 控制台修改依赖方信任的任何属性?
问问题
1013 次
3 回答
1
基本上退出只是删除cookie,所以:
FormsAuthentication.SignOut
或者
FederatedAuthentication.SessionAuthenticationModule.SignOut
或者
FederatedAuthentication.SessionAuthenticationModule.DeleteSessionTokenCookie
将工作。
或者使用实际的方法:
var authModule = FederatedAuthentication.WSFederationAuthenticationModule;
WSFederationAuthenticationModule.FederatedSignOut(new Uri(authModule.Issuer), new Uri(replyUrl));
或者使用 FederatedPassiveSignInStatus(应该在您的工具箱中)。将属性 SignOutAction 设置为 FederatedSignOut,控件也会清除您的 STS 会话。
于 2013-02-06T19:18:13.503 回答
0
In your RP's .config you can set a freshness value to indicate how long the user's credentials should be valid for the STS.
<wsFederation requireHttps="true"
passiveRedirectEnabled="true"
realm="http://localhost/rp"
issuer="https://localhost/sts/issue/wsfed"
freshness="10"
/>
于 2013-08-22T17:14:29.873 回答
0
恕我直言,当 CRM 和您的应用程序都是同一个 ADFS-Server/STS 的依赖方时,您的要求是不可能的。由于两者都使用相同的服务,您可以获得单点登录。
您针对 ADFS-Server 进行身份验证,因此没有从依赖方注销的概念。您只能从 ADFS-Server 注销,这反过来会对所有依赖方产生影响。
于 2013-01-31T16:20:47.800 回答