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

Özellik IsOffline değeridir 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 özelliğini geçerli WindowsIdentityöğesini içeren bir WindowsPrincipal nesneye sıfırlarstaticThread.CurrentPrincipal.

Bu yöntemi çağırdıktan sonra, geçerli kullanıcının artık istemci uygulama hizmetleri için kimliği doğrulanmamıştır. Bu, sınıf aracılığıyla rolleri ve sınıf aracılığıyla ClientRoleProviderClientSettingsProvider ayarları 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ğer 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 özelliği aracılığıyla staticCurrentPrincipal alınan özelliğinin IPrincipal bir ClientFormsIdentity başvuru olduğunu onaylayınIdentity. Ardından özelliğini denetleyin ClientFormsIdentity.IsAuthenticated .

Geçerli kullanıcıyı yeniden kimlik doğrulaması için yöntemini veya yöntemini çağırın ClientFormsAuthenticationMembershipProvider.ValidateUserstaticMembership.ValidateUser .

Şunlara uygulanır

Ayrıca bkz.