Aracılığıyla paylaş


ClientFormsAuthenticationMembershipProvider.Logout Yöntem

Tanım

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 staticThread.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, staticCurrentPrincipal ö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 staticMembership.ValidateUser yöntemini çağırın.

Şunlara uygulanır

Ayrıca bkz.