ClientFormsAuthenticationMembershipProvider.Logout Methode

Definitie

Hiermee wordt de gebruiker afgelogd.

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

Uitzonderingen

De IsOffline waarde van de eigenschap is false en de lidmaatschapsprovider heeft geen toegang tot de verificatieservice.

Voorbeelden

In de volgende voorbeeldcode ziet u hoe u deze methode gebruikt om de gebruiker af te melden.

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

Opmerkingen

De Logout methode wist alle verificatiecookies uit de cookiecache en stelt de staticThread.CurrentPrincipal eigenschap opnieuw in op een WindowsPrincipal object dat de huidige WindowsIdentitybevat.

Nadat u deze methode hebt aangeroepen, wordt de huidige gebruiker niet meer geverifieerd voor clienttoepassingsservices. Dit betekent dat u geen rollen kunt ophalen via de ClientRoleProvider klasse en instellingen via de ClientSettingsProvider klasse. Omdat de gebruiker echter mogelijk een geldige Windows identiteit heeft, ontvangt u mogelijk nog steeds een true-waarde uit de volgende code: Thread.CurrentPrincipal.Identity.IsAuthenticated. Als u wilt bepalen of de gebruiker is geverifieerd voor clienttoepassingsservices, controleert u of de Identity eigenschapswaarde van de IPrincipal opgehaalde via de staticCurrentPrincipal eigenschap een ClientFormsIdentity verwijzing is. Controleer vervolgens de ClientFormsIdentity.IsAuthenticated eigenschap.

Als u de huidige gebruiker opnieuw wilt verifiëren, roept u de ClientFormsAuthenticationMembershipProvider.ValidateUser methode of de staticMembership.ValidateUser methode aan.

Van toepassing op

Zie ook