ClientRolePrincipal.IsInRole(String) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
tarafından ClientRolePrincipal temsil edilen kullanıcının belirtilen rolde olup olmadığını belirten bir değer alır.
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
Parametreler
- role
- String
Denetlenecek rol.
Döndürülenler
true
kullanıcı belirtilen roldeyse; false
kullanıcı belirtilen rolde değilse veya kimliği doğrulanmamışsa.
Uygulamalar
Örnekler
Aşağıdaki örnek kod, yalnızca kullanıcı "yönetici" rolünde olduğunda düğme görüntülemek için bu yöntemin nasıl kullanılacağını gösterir. Bu örnek, ilk Visible özellik değeri false
olan bir adlandırılmış managerOnlyButton
değer gerektirirButton.
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
Açıklamalar
Normalde, özelliği tarafından static
Thread.CurrentPrincipal döndürülen yöntemini IPrincipal çağıracaksınızIsInRole. Ancak, Örnek bölümünde gösterildiği gibi bu yöntemi açıkça çağırmak için özellik değerini bir ClientRolePrincipal başvuruya dönüştürebilirsinizCurrentPrincipal.
IsInRole Kullanıcı oturum açma süresinin dolması durumunda yöntemi her zaman döndürülecektirfalse
. Uygulamanız kimlik doğrulamasından IsInRole kısa bir süre sonra yöntemini çağırırsa bu durum oluşmaz. Uygulamanızın başka zamanlarda kullanıcı rollerini alması gerekiyorsa, oturum açma süresi dolan kullanıcıları yeniden doğrulamaya kod eklemek isteyebilirsiniz. Tüm geçerli kullanıcılar rollere atanmışsa, yöntemini çağırarak ClientRoleProvider.GetRolesForUser oturum açma süresinin dolup dolmadığını belirleyebilirsiniz. Hiçbir rol döndürülmezse oturum açma süresinin dolması gerekir. Bu işlevin bir örneği için yöntemine GetRolesForUser bakın. Bu işlevsellik yalnızca uygulama yapılandırmanızda sunucu tanımlama bilgisinin süresi dolduğunda kullanıcıların yeniden oturum açmasını gerektir'i seçtiyseniz gereklidir.
Şunlara uygulanır
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin