ClientFormsIdentity Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 static
Membership.ValidateUser. Setelah autentikasi, Anda dapat mengambil referensi ke instans ClientFormsIdentity saat ini melalui properti Identity dari IPrincipal yang diambil melalui properti static
Thread.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
- ValidateUser(String, String)
- RevalidateUser()
- CurrentPrincipal
- IPrincipal
- Identity
- IIdentity
- IsAuthenticated
- IsAuthenticated
- AuthenticationType
- Logout()
-
Client Application Services - panduan : Menggunakan Layanan Aplikasi Klien