Sdílet prostřednictvím


ClientFormsAuthenticationMembershipProvider.Logout Metoda

Definice

Odhlásí uživatele.

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

Výjimky

Hodnota IsOffline vlastnosti je false a zprostředkovatel členství nemá přístup k ověřovací službě.

Příklady

Následující příklad kódu ukazuje, jak použít tuto metodu k odhlášení uživatele.

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

Poznámky

Metoda Logout vymaže všechny ověřovací soubory cookie z mezipaměti souborů cookie a resetuje staticThread.CurrentPrincipal vlastnost na WindowsPrincipal objekt, který obsahuje aktuální WindowsIdentity.

Po volání této metody není aktuální uživatel již ověřen pro služby klientských aplikací. To znamená, že nemůžete načíst role prostřednictvím ClientRoleProvider třídy a nastavení prostřednictvím ClientSettingsProvider třídy . Vzhledem k tomu, že uživatel může mít platnou identitu systému Windows, můžete přesto získat true hodnotu z kódu, například: Thread.CurrentPrincipal.Identity.IsAuthenticated. Chcete-li zjistit, zda je uživatel ověřen pro klientské aplikační služby, ověřte, že Identity hodnota IPrincipal vlastnosti načtená prostřednictvím staticCurrentPrincipal vlastnosti je ClientFormsIdentity odkaz. Pak zkontrolujte ClientFormsIdentity.IsAuthenticated vlastnost .

Pokud chcete znovu provést ověření aktuálního uživatele, zavolejte metodu ClientFormsAuthenticationMembershipProvider.ValidateUser nebo metodu staticMembership.ValidateUser .

Platí pro

Viz také