ClientFormsAuthenticationMembershipProvider.Logout Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 disconnettere l'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 metodo Logout cancella tutti i cookie di autenticazione dalla cache dei cookie e reimposta la proprietà static
Thread.CurrentPrincipal su un oggetto WindowsPrincipal che contiene il WindowsIdentitycorrente.
Dopo aver chiamato questo metodo, l'utente corrente non viene più autenticato per i servizi dell'applicazione client. Ciò significa che non è possibile recuperare i ruoli tramite la classe ClientRoleProvider e le impostazioni tramite la classe ClientSettingsProvider. Tuttavia, poiché l'utente potrebbe avere un'identità di Windows valida, è comunque possibile ricevere un valore true
dal codice, ad esempio: Thread.CurrentPrincipal.Identity.IsAuthenticated
. Per determinare se l'utente è autenticato per i servizi dell'applicazione client, verificare che il valore della proprietà Identity del IPrincipal recuperato tramite la proprietà static
CurrentPrincipal sia un riferimento ClientFormsIdentity. Controllare quindi la proprietà ClientFormsIdentity.IsAuthenticated.
Per autenticare nuovamente l'utente corrente, chiamare il metodo ClientFormsAuthenticationMembershipProvider.ValidateUser o il metodo static
Membership.ValidateUser.
Si applica a
Vedi anche
- ValidateUser
- ValidateUser(String, String)
-
Client Application Services