Bagikan melalui


ClientFormsIdentity Kelas

Definisi

Mewakili identitas pengguna yang diautentikasi untuk layanan aplikasi klien dengan menggunakan autentikasi formulir.

public ref class ClientFormsIdentity : IDisposable, System::Security::Principal::IIdentity
public class ClientFormsIdentity : IDisposable, System.Security.Principal.IIdentity
type ClientFormsIdentity = class
    interface IIdentity
    interface IDisposable
Public Class ClientFormsIdentity
Implements IDisposable, IIdentity
Warisan
ClientFormsIdentity
Penerapan

Contoh

Contoh kode berikut menunjukkan cara menggunakan kelas ini untuk memvalidasi ulang pengguna secara diam-diam saat aplikasi meninggalkan status offline. Dalam contoh ini, penanganan aktivitas CheckedChanged memperbarui status offline agar sesuai dengan nilai kotak centang. Jika pengguna mengatur aplikasi ke status online, penanganan aktivitas mencoba memvalidasi ulang pengguna dengan memanggil metode RevalidateUser. Namun, jika server autentikasi tidak tersedia, penanganan aktivitas mengembalikan aplikasi ke status offline.

Nota

Metode RevalidateUser hanya untuk kenyamanan. Karena tidak memiliki nilai pengembalian, nilai tersebut tidak dapat menunjukkan apakah validasi ulang telah gagal. Validasi ulang dapat gagal, misalnya, jika kredensial pengguna telah berubah di server. Dalam hal ini, Anda mungkin ingin menyertakan kode yang secara eksplisit memvalidasi pengguna setelah panggilan layanan gagal. Untuk informasi selengkapnya, lihat bagian Mengakses Pengaturan Web di panduan : Menggunakan Layanan Aplikasi Klien.

private void workOfflineCheckBox_CheckedChanged(
    object sender, EventArgs e)
{
    ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked;
    if (!ConnectivityStatus.IsOffline)
    {
        try
        {
            // Silently re-validate the user.
            ((ClientFormsIdentity)
                System.Threading.Thread.CurrentPrincipal.Identity)
                .RevalidateUser();

            // If any settings have been changed locally, save the new
            // new values to the Web settings service.
            SaveSettings();

            // If any settings have not been changed locally, check 
            // the Web settings service for updates. 
            Properties.Settings.Default.Reload();
        }
        catch (System.Net.WebException)
        {
            MessageBox.Show(
                "Unable to access the authentication service. " +
                Environment.NewLine + "Staying in offline mode.",
                "Warning", MessageBoxButtons.OK, 
                MessageBoxIcon.Warning);
            workOfflineCheckBox.Checked = true;
        }
    }
}
Private Sub workOfflineCheckBox_CheckedChanged( _
    ByVal sender As Object, ByVal e As EventArgs) _
    Handles workOfflineCheckBox.CheckedChanged

    ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked
    If Not ConnectivityStatus.IsOffline Then

        Try

            ' Silently re-validate the user.
            CType(System.Threading.Thread.CurrentPrincipal.Identity,  _
                ClientFormsIdentity).RevalidateUser()

            ' If any settings have been changed locally, save the new
            ' new values to the Web settings service.
            SaveSettings()

            ' If any settings have not been changed locally, check 
            ' the Web settings service for updates. 
            My.Settings.Reload()

        Catch ex As System.Net.WebException

            MessageBox.Show( _
                "Unable to access the authentication service. " & _
                Environment.NewLine + "Staying in offline mode.", _
                "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            workOfflineCheckBox.Checked = True

        End Try

    End If
End Sub

Keterangan

Fitur layanan aplikasi klien menggunakan kelas ini untuk mewakili pengguna yang diautentikasi. Saat mengonfigurasi aplikasi untuk menggunakan layanan aplikasi klien dan autentikasi formulir, Anda dapat mengautentikasi pengguna dengan memanggil metode staticMembership.ValidateUser. Setelah autentikasi, Anda dapat mengambil referensi ke instans ClientFormsIdentity saat ini melalui properti Identity dari IPrincipal yang diambil melalui properti staticThread.CurrentPrincipal. Untuk informasi selengkapnya, lihat Client Application Services.

Anda biasanya akan mengakses objek ClientFormsIdentity sebagai referensi IIdentity untuk menghindari dependensi langsung pada kelas ini. Anda dapat menentukan apakah pengguna diautentikasi dengan memeriksa properti identitas IIdentity.IsAuthenticated. Namun, pengguna dapat diautentikasi untuk Windows, tetapi tidak untuk layanan aplikasi klien. Untuk menentukan apakah pengguna diautentikasi untuk layanan aplikasi klien, Anda juga harus mengonfirmasi bahwa nilai properti IIdentity.AuthenticationType adalah "ClientForms".

Anda harus menggunakan referensi ClientFormsIdentity eksplisit untuk memanggil metode RevalidateUser, yang tidak ditentukan oleh antarmuka IIdentity.

Konstruktor

ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer)

Menginisialisasi instans baru kelas ClientFormsIdentity.

Properti

AuthenticationCookies

Mendapatkan koleksi cookie yang diambil dari layanan autentikasi.

AuthenticationType

Mendapatkan jenis autentikasi yang digunakan untuk mengautentikasi pengguna.

IsAuthenticated

Mendapatkan nilai yang menunjukkan apakah pengguna telah diautentikasi.

Name

Mendapatkan nama pengguna.

Provider

Mendapatkan penyedia keanggotaan yang digunakan untuk mengautentikasi pengguna.

Metode

Dispose()

Merilis semua sumber daya yang digunakan oleh ClientFormsIdentity.

Dispose(Boolean)

Merilis sumber daya yang tidak dikelola yang digunakan oleh ClientFormsIdentity dan secara opsional merilis sumber daya terkelola.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
RevalidateUser()

Mengautentikasi pengguna secara diam-diam dengan menggunakan kredensial yang di-cache.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga