ClientFormsAuthenticationMembershipProvider.Logout Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kullanıcının oturumunu kapatın.
public:
void Logout();
public void Logout ();
member this.Logout : unit -> unit
Public Sub Logout ()
Özel durumlar
IsOffline özellik değeri false
ve üyelik sağlayıcısı kimlik doğrulama hizmetine erişemiyor.
Örnekler
Aşağıdaki örnek kod, kullanıcının oturumunu kapatmada bu yöntemin nasıl kullanılacağını gösterir.
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
Açıklamalar
Logout yöntemi, tanımlama bilgisi önbelleğindeki tüm kimlik doğrulama tanımlama bilgilerini temizler ve static
Thread.CurrentPrincipal özelliğini geçerli WindowsIdentityiçeren bir WindowsPrincipal nesnesine sıfırlar.
Bu yöntemi çağırdıktan sonra, geçerli kullanıcının artık istemci uygulama hizmetleri için kimliği doğrulanmamış olur. Bu, rolleri ClientRoleProvider sınıfı ve ayarlar aracılığıyla ClientSettingsProvider sınıfı aracılığıyla alamayacağınız anlamına gelir. Ancak, kullanıcının geçerli bir Windows kimliği olabileceğinden, koddan aşağıdaki gibi bir true
değeri almaya devam edebilirsiniz: Thread.CurrentPrincipal.Identity.IsAuthenticated
. Kullanıcının istemci uygulama hizmetleri için kimlik doğrulaması yapılıp yapılmadığını belirlemek için, static
CurrentPrincipal özelliği aracılığıyla alınan IPrincipalIdentity özellik değerinin ClientFormsIdentity bir başvuru olduğunu onaylayın. Ardından ClientFormsIdentity.IsAuthenticated özelliğini denetleyin.
Geçerli kullanıcıyı yeniden kimlik doğrulaması için ClientFormsAuthenticationMembershipProvider.ValidateUser yöntemini veya static
Membership.ValidateUser yöntemini çağırın.