Freigeben über


ClientFormsAuthenticationMembershipProvider.Logout Methode

Definition

Meldet den Benutzer ab.

public:
 void Logout();
public void Logout();
member this.Logout : unit -> unit
Public Sub Logout ()

Ausnahmen

Der IsOffline Eigenschaftswert ist false und der Mitgliedschaftsanbieter kann nicht auf den Authentifizierungsdienst zugreifen.

Beispiele

Im folgenden Beispielcode wird veranschaulicht, wie Sie diese Methode verwenden, um den Benutzer abzumelden.

private void logoutButton_Click(object sender, EventArgs e)
{
    SaveSettings();

    ClientFormsAuthenticationMembershipProvider authProvider =
        (ClientFormsAuthenticationMembershipProvider)
        System.Web.Security.Membership.Provider;

    try
    {
        authProvider.Logout();
    }
    catch (WebException)
    {
        MessageBox.Show("Unable to access the authentication service." +
            Environment.NewLine + "Logging off locally only.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        ConnectivityStatus.IsOffline = true;
        authProvider.Logout();
        ConnectivityStatus.IsOffline = false;
    }

    Application.Restart();
}
Private Sub logoutButton_Click(ByVal sender As Object, _
    ByVal e As EventArgs) Handles logoutButton.Click

    SaveSettings()

    Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
        CType(System.Web.Security.Membership.Provider,  _
        ClientFormsAuthenticationMembershipProvider)

    Try

        authProvider.Logout()

    Catch ex As WebException

        MessageBox.Show("Unable to access the authentication service." & _
            Environment.NewLine & "Logging off locally only.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        ConnectivityStatus.IsOffline = True
        authProvider.Logout()
        ConnectivityStatus.IsOffline = False

    End Try

    Application.Restart()

End Sub

Hinweise

Die Logout Methode löscht alle Authentifizierungscookies aus dem Cookie-Cache und setzt die staticThread.CurrentPrincipal Eigenschaft auf ein WindowsPrincipal Objekt zurück, das den aktuellen WindowsIdentityenthält.

Nachdem Sie diese Methode aufgerufen haben, wird der aktuelle Benutzer nicht mehr für Clientanwendungsdienste authentifiziert. Dies bedeutet, dass Sie rollen nicht über die ClientRoleProvider Klasse und einstellungen über die ClientSettingsProvider Klasse abrufen können. Da der Benutzer jedoch möglicherweise über eine gültige Windows-Identität verfügt, erhalten Sie möglicherweise noch einen true Wert aus Code wie den folgenden: Thread.CurrentPrincipal.Identity.IsAuthenticated Um festzustellen, ob der Benutzer für Clientanwendungsdienste authentifiziert ist, vergewissern Sie sich, dass der Identity Eigenschaftswert des IPrincipal über die staticCurrentPrincipal Eigenschaft abgerufenen Objekts ein ClientFormsIdentity Verweis ist. Überprüfen Sie dann die ClientFormsIdentity.IsAuthenticated Eigenschaft.

Rufen Sie die Methode oder die staticMembership.ValidateUser Methode auf, um den ClientFormsAuthenticationMembershipProvider.ValidateUser aktuellen Benutzer erneut zu authentifizieren.

Gilt für:

Weitere Informationen