ClientFormsAuthenticationMembershipProvider.Logout Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cierra la sesión del usuario.
public:
void Logout();
public void Logout ();
member this.Logout : unit -> unit
Public Sub Logout ()
Excepciones
El valor de la propiedad IsOffline es false
y el proveedor de pertenencia no puede acceder al servicio de autenticación.
Ejemplos
En el código de ejemplo siguiente se muestra cómo usar este método para cerrar la sesión del usuario.
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
Comentarios
El método Logout borra todas las cookies de autenticación de la caché de cookies y restablece la propiedad static
Thread.CurrentPrincipal a un objeto de WindowsPrincipal que contiene el WindowsIdentityactual.
Después de llamar a este método, el usuario actual ya no se autentica para los servicios de aplicaciones cliente. Esto significa que no se pueden recuperar roles a través de la clase y la configuración de ClientRoleProvider a través de la clase ClientSettingsProvider. Sin embargo, dado que el usuario puede tener una identidad de Windows válida, es posible que siga recibiendo un valor de true
del código como el siguiente: Thread.CurrentPrincipal.Identity.IsAuthenticated
. Para determinar si el usuario está autenticado para los servicios de aplicaciones cliente, confirme que el valor de propiedad Identity del IPrincipal recuperado a través de la propiedad static
CurrentPrincipal es una referencia de ClientFormsIdentity. A continuación, compruebe la propiedad ClientFormsIdentity.IsAuthenticated.
Para volver a autenticar al usuario actual, llame al método ClientFormsAuthenticationMembershipProvider.ValidateUser o al método static
Membership.ValidateUser.
Se aplica a
Consulte también
- ValidateUser
- ValidateUser(String, String)
- servicios de aplicaciones cliente de