Partager via


ClientFormsAuthenticationMembershipProvider.Logout Méthode

Définition

Déconnecte l'utilisateur.

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

Exceptions

La valeur de propriété IsOffline est false et le fournisseur d'appartenances ne peut pas accéder au service d'authentification.

Exemples

L’exemple de code suivant montre comment utiliser cette méthode pour déconnecter l’utilisateur.

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

Remarques

La Logout méthode efface tous les cookies d’authentification du cache de cookies et réinitialise la staticThread.CurrentPrincipal propriété à un WindowsPrincipal objet qui contient le actuel WindowsIdentity.

Après avoir appelé cette méthode, l’utilisateur actuel n’est plus authentifié pour les services d’application client. Cela signifie que vous ne pouvez pas récupérer les rôles via la ClientRoleProvider classe et les paramètres via la ClientSettingsProvider classe . Toutefois, étant donné que l’utilisateur peut avoir une identité Windows valide, il se peut que vous receviez toujours une true valeur du code tel que : Thread.CurrentPrincipal.Identity.IsAuthenticated. Pour déterminer si l’utilisateur est authentifié pour les services d’application client, vérifiez que la valeur de propriété Identity du IPrincipal récupéré via laCurrentPrincipalstaticpropriété est une ClientFormsIdentity référence. Ensuite, vérifiez la ClientFormsIdentity.IsAuthenticated propriété .

Pour réauthentifier l’utilisateur actuel, appelez la ClientFormsAuthenticationMembershipProvider.ValidateUser méthode ou la staticMembership.ValidateUser méthode .

S’applique à

Voir aussi