J'ai une page (disons TestPage), deux rôles (disons Rôle1, Rôle2) sont donnés l'autorisation sur cette page, maintenant je veux obtenir les noms des assignés rôles dans le code utilisant l'API. comment y parvenir?Comment obtenir des rôles qui ont des autorisations sur une page particulière dans kentico
-1
A
Répondre
0
Que voulez-vous exactement? Qu'entendez-vous par «dans le programme»? Vous voulez dire utiliser l'API? Vous pouvez utiliser
DocumentSecurityHelper
pour travailler avec des autorisations pour un utilisateur pour une certaine page. Vous pouvez trouver divers exemples d'utilisation de la liste de contrôle d'accès et des autorisations via l'API here.
0
Jetez un coup d'œil à Setting page permissions for a role. Cela devrait vous donner une idée de comment le faire. Je suppose que vous pouvez utiliser dans votre cas:
AclItemInfoProvider.GetAllowedRoles
0
Ceci peut être réalisé en utilisant le code suivant
TreeProvider provider = new TreeProvider(MembershipContext.AuthenticatedUser);
CMS.DocumentEngine.TreeNode page = provider.SelectNodes().Path("/News").OnCurrentSite().FirstObject;
var dataQuery=AclItemInfoProvider.GetACLItemsAndOperators(page.NodeID);
foreach(DataRow dr in dataQuery.Tables[0].Rows)
{
//here you can find the information about the roles, their IDs and Display Names etc.
}
Oui je veux obtenir les noms de rôle en utilisant API.I ont essayé d'utiliser ACLItemInfoProvider.GetAclItems (page, adminuser), mais il ne renvoie aucune ligne dans datatable. – user2889674