2017-05-03 1 views

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

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

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