ClientRolePrincipal.IsInRole(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un valore che indica se l'utente rappresentato dall'oggetto ClientRolePrincipal appartiene al ruolo specificato.
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
Parametri
- role
- String
Ruolo da controllare.
Restituisce
true
se l'utente è nel ruolo specificato; false
se l'utente non è nel ruolo specificato o non è autenticato.
Implementazioni
Esempio
Il codice di esempio seguente illustra come usare questo metodo per visualizzare un pulsante solo quando l'utente si trova nel ruolo "manager". Questo esempio richiede un Button oggetto denominato managerOnlyButton
con un valore della proprietà iniziale Visible pari a false
.
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
Commenti
In genere, si chiamerà il IsInRole metodo dell'oggetto IPrincipal restituito dalla static
Thread.CurrentPrincipal proprietà . Tuttavia, è possibile eseguire il cast del valore della CurrentPrincipal proprietà a un ClientRolePrincipal riferimento per chiamare questo metodo in modo esplicito, come illustrato nella sezione Esempio.
Il metodo IsInRole restituirà sempre false
se l'accesso utente è scaduto. Ciò non si verifica se l'applicazione chiama il IsInRole metodo una volta poco dopo l'autenticazione. Se l'applicazione deve recuperare ruoli utente in altri momenti, è necessario aggiungere il codice per riconvalidare gli utenti con accesso scaduto. Se tutti gli utenti validi sono stati assegnati ai ruoli, è possibile determinare se l'accesso è scaduto chiamando il metodo ClientRoleProvider.GetRolesForUser . Se non viene restituito alcun ruolo, l'accesso è scaduto. Per un esempio di questa funzionalità, vedere il metodo GetRolesForUser . Questa funzionalità è necessaria solo se è stato selezionato Richiedi agli utenti di accedere di nuovo a ogni scadenza del cookie del server nella configurazione dell'applicazione.
Si applica a
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per