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

Der folgende Beispielcode 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 Cookiecache 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 dennoch einen true Wert aus Code wie dem folgenden: Thread.CurrentPrincipal.Identity.IsAuthenticated. Um zu bestimmen, ob der Benutzer für Clientanwendungsdienste authentifiziert ist, vergewissern Sie sich, dass der Identity Eigenschaftswert der IPrincipal über dieCurrentPrincipalstatic-Eigenschaft abgerufen wird ein ClientFormsIdentity Verweis ist. Überprüfen Sie dann die ClientFormsIdentity.IsAuthenticated -Eigenschaft.

Um den aktuellen Benutzer erneut zu authentifizieren, rufen Sie die ClientFormsAuthenticationMembershipProvider.ValidateUser -Methode oder die -Methode auf staticMembership.ValidateUser .

Gilt für:

Weitere Informationen