More in this section
Forums / Developing with Sitefinity / How to get the list of global permissions set for any user (not logged in)?

How to get the list of global permissions set for any user (not logged in)?

The forums are in read-only mode. In case that you want to directly contact the Progress Sitefinity team use the support center. In our Google Plus group you can find more than one thousand Sitefinity developers discussing different topics. For the Stack Overflow threads don’t forget to use the “Sitefinity” tag.
2 posts, 0 answered
  1. Bohdan
    Bohdan avatar
    1 posts
    Registered:
    08 Dec 2010
    05 Jan 2011
    Link to this post
    I need to get the list of global permissons assigned to some user. Please advise.
  2. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    12 Sep 2017
    05 Jan 2011
    Link to this post
    Hello Bohdan,

    Here is a sample code that illustrates how to get permissions for a user( you get permissions for all roles under which this user belongs)

    ISecuredBase secObject = Telerik.Cms.Security.GlobalPermissions.Instance;
           IDictionary<string, ApplicationPermission> permissions = secObject.GetPermissions(UserManager.Default.RoleProvider.Name);
      
           ApplicationPermission permission = new ApplicationPermission();
           string[] roles = UserManager.Default.RoleProvider.GetRolesForUser("MyUserName");
           ApplicationPermission curr;
           foreach (string role in roles)
           {
               if (UserManager.IsRoleUnrestricted(UserManager.Default.RoleProvider.Name, role))
                   permission = new ApplicationPermission(PermissionState.Unrestricted).Union(permission);
               else if (permissions.TryGetValue(role.ToLower(), out curr))
                   permission = curr.Union(permission);
           }
           if (permissions.TryGetValue("everyone", out curr))
               permission = curr.Union(permission);
     
    // here check for the global permission you are looking for - for example CmsAccess
    GlobalPermission cmsGlobalPermission = new GlobalPermission(GlobalRights.CmsAccess);
    // here you can calll cmsGlobalPermission.IsSubsetOf(permission);


    All the best,
    Ivan Dimitrov
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
2 posts, 0 answered