ClientRolePrincipal.IsInRole(String) Metode
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.
Mendapatkan nilai yang menunjukkan apakah pengguna yang diwakili oleh ClientRolePrincipal berada dalam peran yang ditentukan.
public:
virtual bool IsInRole(System::String ^ role);
public bool IsInRole (string role);
abstract member IsInRole : string -> bool
override this.IsInRole : string -> bool
Public Function IsInRole (role As String) As Boolean
Parameter
- role
- String
Peran untuk diperiksa.
Mengembalikan
true
jika pengguna berada dalam peran yang ditentukan; false
jika pengguna tidak berada dalam peran yang ditentukan atau tidak diautentikasi.
Penerapan
Contoh
Contoh kode berikut menunjukkan cara menggunakan metode ini untuk menampilkan tombol hanya ketika pengguna berada dalam peran "manajer". Contoh ini memerlukan Button bernama managerOnlyButton
dengan nilai properti awal Visiblefalse
.
private void DisplayButtonForManagerRole()
{
try
{
ClientRolePrincipal rolePrincipal =
System.Threading.Thread.CurrentPrincipal
as ClientRolePrincipal;
if (rolePrincipal != null && rolePrincipal.IsInRole("manager"))
{
managerOnlyButton.Visible = true;
}
}
catch (System.Net.WebException)
{
MessageBox.Show("Unable to access the roles service.",
"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
Private Sub DisplayButtonForManagerRole()
Try
Dim rolePrincipal As ClientRolePrincipal = TryCast( _
System.Threading.Thread.CurrentPrincipal, ClientRolePrincipal)
If rolePrincipal IsNot Nothing And _
rolePrincipal.IsInRole("manager") Then
managerOnlyButton.Visible = True
End If
Catch ex As System.Net.WebException
MessageBox.Show("Unable to access the role service.", _
"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End Try
End Sub
Keterangan
Biasanya, Anda akan memanggil metode IsInRole dari IPrincipal yang dikembalikan oleh properti static
Thread.CurrentPrincipal. Namun, Anda dapat mentransmisikan nilai properti CurrentPrincipal ke referensi ClientRolePrincipal untuk memanggil metode ini secara eksplisit, seperti yang ditunjukkan di bagian Contoh.
Metode IsInRole akan selalu mengembalikan false
jika login pengguna telah kedaluwarsa. Ini tidak akan terjadi jika aplikasi Anda memanggil metode IsInRole satu kali tak lama setelah autentikasi. Jika aplikasi Anda harus mengambil peran pengguna di lain waktu, Anda mungkin ingin menambahkan kode untuk memvalidasi ulang pengguna yang loginnya telah kedaluwarsa. Jika semua pengguna yang valid ditetapkan ke peran, Anda dapat menentukan apakah login telah kedaluwarsa dengan memanggil metode ClientRoleProvider.GetRolesForUser. Jika tidak ada peran yang dikembalikan, login telah kedaluwarsa. Untuk contoh fungsionalitas ini, lihat metode GetRolesForUser. Fungsionalitas ini hanya diperlukan jika Anda telah memilih Mengharuskan pengguna untuk masuk lagi setiap kali cookie server kedaluwarsa dalam konfigurasi aplikasi Anda.
Berlaku untuk
Lihat juga
- GetRolesForUser(String)
- IPrincipal
- IsInRole(String)
- CurrentPrincipal
-
Client Application Services - Cara: Mengonfigurasi Layanan Aplikasi Klien