Bagikan melalui


ClientFormsAuthenticationMembershipProvider.Logout Metode

Definisi

Keluarkan pengguna.

public:
 void Logout();
public void Logout ();
member this.Logout : unit -> unit
Public Sub Logout ()

Pengecualian

Nilai properti IsOfflinefalse dan penyedia keanggotaan tidak dapat mengakses layanan autentikasi.

Contoh

Contoh kode berikut menunjukkan cara menggunakan metode ini untuk keluar dari pengguna.

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

Keterangan

Metode Logout menghapus semua cookie autentikasi dari cache cookie dan mengatur ulang properti staticThread.CurrentPrincipal ke objek WindowsPrincipal yang berisi WindowsIdentitysaat ini.

Setelah Anda memanggil metode ini, pengguna saat ini tidak lagi diautentikasi untuk layanan aplikasi klien. Ini berarti Anda tidak dapat mengambil peran melalui kelas dan pengaturan ClientRoleProvider melalui kelas ClientSettingsProvider. Namun, karena pengguna mungkin memiliki identitas Windows yang valid, Anda mungkin masih menerima nilai true dari kode seperti berikut: Thread.CurrentPrincipal.Identity.IsAuthenticated. Untuk menentukan apakah pengguna diautentikasi untuk layanan aplikasi klien, konfirmasikan bahwa nilai properti Identity dari IPrincipal yang diambil melalui properti staticCurrentPrincipal adalah referensi ClientFormsIdentity. Kemudian, periksa properti ClientFormsIdentity.IsAuthenticated.

Untuk mengautentikasi ulang pengguna saat ini, panggil metode ClientFormsAuthenticationMembershipProvider.ValidateUser atau metode staticMembership.ValidateUser.

Berlaku untuk

Lihat juga