Bagikan melalui


ClientRolePrincipal.IsInRole(String) Metode

Definisi

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 staticThread.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