ClientFormsAuthenticationMembershipProvider.Logout Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Meldet den Benutzer ab.
public:
void Logout();
public void Logout ();
member this.Logout : unit -> unit
Public Sub Logout ()
Ausnahmen
Der wert der IsOffline Eigenschaft ist false
und der Mitgliedschaftsanbieter kann nicht auf den Authentifizierungsdienst zugreifen.
Beispiele
Im folgenden Beispielcode wird veranschaulicht, wie Sie diese Methode verwenden, um den Benutzer abzumelden.
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
Hinweise
Die Logout-Methode löscht alle Authentifizierungscookies aus dem Cookiecache und setzt die static
Thread.CurrentPrincipal Eigenschaft auf ein WindowsPrincipal-Objekt zurück, das die aktuelle WindowsIdentityenthält.
Nachdem Sie diese Methode aufgerufen haben, wird der aktuelle Benutzer nicht mehr für Clientanwendungsdienste authentifiziert. Dies bedeutet, dass Sie keine Rollen über die ClientRoleProvider Klasse und Einstellungen über die ClientSettingsProvider Klasse abrufen können. Da der Benutzer jedoch möglicherweise über eine gültige Windows-Identität verfügt, erhalten Sie möglicherweise noch einen true
Wert aus Code wie den folgenden: Thread.CurrentPrincipal.Identity.IsAuthenticated
. Um festzustellen, ob der Benutzer für Clientanwendungsdienste authentifiziert ist, vergewissern Sie sich, dass der Identity Eigenschaftswert der IPrincipal, die über die static
CurrentPrincipal-Eigenschaft abgerufen wurde, ein ClientFormsIdentity Verweis ist. Überprüfen Sie dann die eigenschaft ClientFormsIdentity.IsAuthenticated.
Rufen Sie zum erneuten Authentifizieren des aktuellen Benutzers die ClientFormsAuthenticationMembershipProvider.ValidateUser-Methode oder die static
Membership.ValidateUser-Methode auf.