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 CheckedChanged aktivitas memperbarui status offline agar sesuai dengan nilai kotak centang. Jika pengguna mengatur aplikasi ke status online, penanganan aktivitas mencoba memvalidasi ulang pengguna dengan memanggil RevalidateUser metode . Namun, jika server autentikasi tidak tersedia, penanganan aktivitas mengembalikan aplikasi ke status offline.

Catatan

Metode RevalidateUser ini 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 staticMembership.ValidateUser metode . Setelah autentikasi, Anda dapat mengambil referensi ke instans saat ini ClientFormsIdentity melalui Identity properti dari yang IPrincipal diambil melalui staticThread.CurrentPrincipal properti . Untuk informasi selengkapnya, lihat Layanan Aplikasi Klien.

Anda biasanya akan mengakses ClientFormsIdentity objek sebagai IIdentity referensi untuk menghindari dependensi langsung pada kelas ini. Anda dapat menentukan apakah pengguna diautentikasi dengan memeriksa IIdentity.IsAuthenticated properti identitas. 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 IIdentity.AuthenticationType nilai properti adalah "ClientForms".

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

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 ClientFormsIdentitydigunakan oleh .

Dispose(Boolean)

Merilis sumber daya tidak terkelola 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 dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
RevalidateUser()

Secara diam-diam mengautentikasi pengguna dengan menggunakan kredensial yang di-cache.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga