ClientFormsAuthenticationMembershipProvider.Logout Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wyloguj użytkownika.
public:
void Logout();
public void Logout ();
member this.Logout : unit -> unit
Public Sub Logout ()
Wyjątki
Wartość właściwości IsOffline jest false
, a dostawca członkostwa nie może uzyskać dostępu do usługi uwierzytelniania.
Przykłady
Poniższy przykładowy kod pokazuje, jak za pomocą tej metody wylogować użytkownika.
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
Uwagi
Metoda Logout czyści wszystkie pliki cookie uwierzytelniania z pamięci podręcznej plików cookie i resetuje właściwość static
Thread.CurrentPrincipal do obiektu WindowsPrincipal zawierającego bieżący WindowsIdentity.
Po wywołaniu tej metody bieżący użytkownik nie jest już uwierzytelniany dla usług aplikacji klienckich. Oznacza to, że nie można pobrać ról za pośrednictwem klasy ClientRoleProvider i ustawień za pośrednictwem klasy ClientSettingsProvider. Jednak ponieważ użytkownik może mieć prawidłową tożsamość systemu Windows, nadal może otrzymać wartość true
z kodu, takiego jak następujące: Thread.CurrentPrincipal.Identity.IsAuthenticated
. Aby określić, czy użytkownik jest uwierzytelniony dla usług aplikacji klienckich, upewnij się, że wartość właściwości IdentityIPrincipal pobrana za pośrednictwem właściwości static
CurrentPrincipal jest odwołaniem ClientFormsIdentity. Następnie sprawdź właściwość ClientFormsIdentity.IsAuthenticated.
Aby ponownie uwierzytelnić bieżącego użytkownika, wywołaj metodę ClientFormsAuthenticationMembershipProvider.ValidateUser lub metodę static
Membership.ValidateUser.
Dotyczy
Zobacz też
- ValidateUser
- ValidateUser(String, String)
- usług aplikacji klienckich