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 méthode Logout efface tous les cookies d’authentification du cache des cookies et réinitialise la propriété staticThread.CurrentPrincipal à un objet WindowsPrincipal qui contient le WindowsIdentityactuel.

Après avoir appelé cette méthode, l’utilisateur actuel n’est plus authentifié pour les services d’application cliente. Cela signifie que vous ne pouvez pas récupérer des rôles par le biais de la classe ClientRoleProvider et des paramètres via la classe ClientSettingsProvider. Toutefois, étant donné que l’utilisateur peut avoir une identité Windows valide, vous pouvez toujours recevoir une valeur true à partir du code, par exemple : Thread.CurrentPrincipal.Identity.IsAuthenticated. Pour déterminer si l’utilisateur est authentifié pour les services d’application cliente, vérifiez que la valeur de propriété Identity de l'IPrincipal récupérée via la propriété staticCurrentPrincipal est une référence ClientFormsIdentity. Vérifiez ensuite la propriété ClientFormsIdentity.IsAuthenticated.

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

S’applique à

Voir aussi