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 cliente. 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 a peut-être une identité Windows valide, vous pouvez toujours recevoir une true valeur du code comme suit : Thread.CurrentPrincipal.Identity.IsAuthenticated. Pour déterminer si l’utilisateur est authentifié pour les services d’application cliente, vérifiez que la Identity valeur de propriété du IPrincipal récupéré via la staticCurrentPrincipal propriété est une ClientFormsIdentity référence. Ensuite, vérifiez la ClientFormsIdentity.IsAuthenticated propriété .

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

S’applique à

Voir aussi