0

现在我的应用程序使用 WS_Federated 登录,并且 wit 工作得很好,但是当我注销时,当我点击登录链接时它会自动让我重新登录。

我已经验证,User.Identity.IsAuthenticated == false;一旦用户注销,它就可以工作。我用它来注销:

WSFederationAuthenticationModule fam = FederatedAuthentication.WSFederationAuthenticationModule;

// SignOut from both Authentications
try
{
    Microsoft.IdentityModel.Web.FederatedAuthentication.SessionAuthenticationModule.SignOut();
    FormsAuthentication.SignOut();
}
finally
{
    fam.SignOut(true);
}

但他的问题是,当我获得重新登录的链接时,它会发送自动登录的信息。基本上看起来用户没有注销。让我登录的字符串在这里:

http://someAppId.cloudapp.net/?wa=wsignin1.0&wtrealm=https%3a%2f%2blablabla.accesscontrol.windows.net%2f&wreply=https%3a%2f%blablabla.accesscontrol.windows.net%2fv2%2fwsfederation&wctx =cHI9d3NmZWRlcmF0aW9uJnJtPWh0dHAlM2ElMmYlMmYxMjcuMC4wLjElM2E4MSUyZg2

似乎没有保留任何 cookie,因此它是通过 url 传递的。我可以取出/修改哪些部分以避免登录?有一个更好的方法吗?如果有任何不清楚的地方,请告诉我。

4

1 回答 1

1

当您使用将 iwa 作为预身份验证令牌并使用 ws-fed 或 saml 作为身份验证后令牌的 idp 时,请确保将您的注销定向到不同的页面,否则用户将再次自动登录。

于 2013-07-19T06:12:42.500 回答