ClientFormsAuthenticationMembershipProvider.Logout Metodo

Definizione

Disconnette l'utente.

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

Eccezioni

Il valore della proprietà IsOffline è false e il provider di appartenenze non è in grado di accedere al servizio di autenticazione.

Esempio

Il codice di esempio seguente illustra come usare questo metodo per disconnettersi dall'utente.

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

Commenti

Il Logout metodo cancella tutti i cookie di autenticazione dalla cache dei cookie e reimposta la staticThread.CurrentPrincipal proprietà in un WindowsPrincipal oggetto contenente l'oggetto corrente WindowsIdentity.

Dopo aver chiamato questo metodo, l'utente corrente non è più autenticato per i servizi applicazioni client. Ciò significa che non è possibile recuperare i ruoli tramite la classe e le ClientRoleProvider impostazioni tramite la ClientSettingsProvider classe. Tuttavia, poiché l'utente potrebbe avere un'identità di Windows valida, potrebbe comunque ricevere un true valore dal codice, ad esempio quanto segue: Thread.CurrentPrincipal.Identity.IsAuthenticated. Per determinare se l'utente è autenticato per i servizi applicazioni client, verificare che il Identity valore della IPrincipal proprietà recuperato tramite la staticCurrentPrincipal proprietà sia un ClientFormsIdentity riferimento. Controllare quindi la ClientFormsIdentity.IsAuthenticated proprietà.

Per riutenticare l'utente corrente, chiamare il metodo o il ClientFormsAuthenticationMembershipProvider.ValidateUserstaticMembership.ValidateUser metodo.

Si applica a

Vedi anche