0

我有一个使用 ADFS 作为身份验证模式的 asp.net 应用程序。我对 CRM 和这个网络应用程序有中继方信任。我想在令牌的生命周期到期时强制用户输入凭据,因为现在,当生命周期到期时,我将重定向到 ADFS 并自动登录 Web 应用程序。我想仅针对 Web 应用程序更改此行为,让 CRM 中继方保持原样。我应该更新应用程序的 web.config 中的哪些属性?是否可以通过 PowerShell 控制台修改依赖方信任的任何属性?

4

3 回答 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 回答