3

Relying party アプリケーション (ASP.NET MVC4) には、IdentityServer からログアウトするサインアウト リンクがあります。アプリへのリンクが表示された「Successful Logout」ページに移動します。私がやりたいことは、IdentityServer のリンク「ログアウト」をクリックして、ローカル ビュー「LoggedOut」のみを表示することです。どうすればこれを達成できますか? これはよくあることだと思いますが、コーディング例が見つかりません。助けてくれてありがとう。これが私のログアウトコードです...

public class LogoutHandler
{
    public string Signout()
    {
        FederationConfiguration cfg = FederatedAuthentication.FederationConfiguration;
        var fam = FederatedAuthentication.WSFederationAuthenticationModule;
        fam.SignOut(false);
        var signOutRequestMessage = new SignOutRequestMessage(new Uri(fam.Issuer), fam.Realm);

        return signOutRequestMessage.WriteQueryString();
    }
}

次に、コントローラー アクションで、

public ActionResult Logout()
{
string signoutUrl = new LogoutHandler().Signout();
return new RedirectResult(signoutUrl);
}

これは単にサインアウトするだけですが、IdentityServer のサインアウトに成功しました。

4

1 に答える 1

0

私の知る限り、thinktecture 管理ゾーンでリダイレクト URL を指定するだけです。さらに、ログアウト ページが保護されていないことを確認する必要があります。この最後の部分がないと、ログアウト ページに戻りますが、すぐに STS にリダイレクトされます。

于 2013-02-26T16:39:48.170 に答える