private void setupNextRoleAssignment(SPDGWeb web, SPDGSecurableObject securableObject)
        {
            SPDGPrincipal principal = null;
            var           rnd       = SampleData.GetRandomNumber(0, 100);

            if (rnd < WorkingDefinition.PermissionsPercentForUsers)
            {
                principal = _siteSpUsers[SampleData.GetRandomNumber(0, _siteSpUsers.Count - 1)];
            }
            else if (rnd < WorkingDefinition.PermissionsPercentForUsers + WorkingDefinition.PermissionsPercentForSPGroups)
            {
                principal = _siteSpGroups[SampleData.GetRandomNumber(0, _siteSpGroups.Count - 1)];
            }
            else
            {
                principal = _siteAdGroupSpUsers[SampleData.GetRandomNumber(0, _siteAdGroupSpUsers.Count - 1)];
            }

            var roleAssignment = securableObject.GetRoleAssignmentByPrincipal(principal);

            if (roleAssignment == null || roleAssignment.RoleDefinitionBindings.All(x => x.IsGuestRole))
            {
                var availableRoledefinitions = web.RoleDefinitions.Where(x => !x.IsGuestRole).ToList();

                var selected = availableRoledefinitions[SampleData.GetRandomNumber(0, availableRoledefinitions.Count - 1)];
                securableObject.AddRoleAssignment(principal, new List <SPDGRoleDefinition> {
                    selected
                });
            }
        }
Esempio n. 2
0
 public SPDGServerRoleAssignment(SPDGPrincipal member)
     : base(member, new List <SPDGRoleDefinition>())
 {
     if (member is SPDGServerUser)
     {
         _roleAssignment = new SPRoleAssignment(((SPDGServerUser)member).SPUser);
     }
     else
     {
         _roleAssignment = new SPRoleAssignment(((SPDGServerGroup)member).Group);
     }
 }
        public static void AddRoleAssignment(SPSecurableObject securableObject, SPDGPrincipal principal, IEnumerable <SPDGRoleDefinition> roleDefinitions)
        {
            SPPrincipal spPrincipal;

            if (principal is SPDGServerUser)
            {
                spPrincipal = ((SPDGServerUser)principal).SPUser;
            }
            else
            {
                spPrincipal = ((SPDGServerGroup)principal).Group;
            }
            SPRoleAssignment roleAss = new SPRoleAssignment(spPrincipal);

            foreach (var spdgRoleDefinition in roleDefinitions)
            {
                var spRoleDef = ((SPDGServerRoleDefinition)spdgRoleDefinition).RoleDefinition;
                roleAss.RoleDefinitionBindings.Add(spRoleDef);
            }
            securableObject.RoleAssignments.Add(roleAss);
        }
Esempio n. 4
0
 public override void AddRoleAssignment(SPDGPrincipal principal, IEnumerable <SPDGRoleDefinition> roledefinitions)
 {
     ClientRoleAssignmentHelper.AddRoleAssignment(_list, _context, principal, roledefinitions);
 }
Esempio n. 5
0
 public override SPDGRoleAssignment GetRoleAssignmentByPrincipal(SPDGPrincipal principal)
 {
     return(ClientRoleAssignmentHelper.GetRoleAssignmentByPrincipal(_list, _context, principal));
 }
Esempio n. 6
0
 public SPDGServerRoleAssignment(SPRoleAssignment roleAssignment, SPDGPrincipal member, IEnumerable <SPDGRoleDefinition> roleDefinitionBindings)
     : base(member, roleDefinitionBindings)
 {
     _roleAssignment = roleAssignment;
 }
Esempio n. 7
0
 public override void AddRoleAssignment(SPDGPrincipal principal, IEnumerable <SPDGRoleDefinition> roledefinitions)
 {
     ServerRoleAssignmentHelper.AddRoleAssignment(_item, principal, roledefinitions);
 }
Esempio n. 8
0
 public override SPDGRoleAssignment GetRoleAssignmentByPrincipal(SPDGPrincipal principal)
 {
     return(ServerRoleAssignmentHelper.GetRoleAssignmentByPrincipal(_item, principal));
 }
Esempio n. 9
0
        public static SPDGRoleAssignment GetRoleAssignmentByPrincipal(SecurableObject securableObject, ClientContext context, SPDGPrincipal principal)
        {
            var principalId = principal.ID;
            var roleAss     = securableObject.RoleAssignments.Where(x => x.PrincipalId == principalId).Include(x => x.RoleDefinitionBindings, x => x.Member, x => x.PrincipalId);
            var results     = context.LoadQuery(roleAss);

            context.ExecuteQuery();
            if (results.Any())
            {
                return(new SPDGClientRoleAssignment(results.First(), principal, results.First().RoleDefinitionBindings.Select(x => new SPDGClientRoleDefinition(x))));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 10
0
        public static void AddRoleAssignment(SecurableObject securableObject, ClientContext context, SPDGPrincipal principal, IEnumerable <SPDGRoleDefinition> roleDefinitions)
        {
            Principal p;

            if (principal is SPDGClientUser)
            {
                p = ((SPDGClientUser)principal).User;
            }
            else
            {
                p = ((SPDGClientGroup)principal).Group;
            }
            var roleDefinitionBindingCollection = new RoleDefinitionBindingCollection(context);

            foreach (var spdgRoleDefinition in roleDefinitions)
            {
                roleDefinitionBindingCollection.Add(((SPDGClientRoleDefinition)spdgRoleDefinition).Definition);
            }
            securableObject.RoleAssignments.Add(p, roleDefinitionBindingCollection);
            context.ExecuteQuery();
        }
Esempio n. 11
0
        public static SPDGRoleAssignment GetRoleAssignmentByPrincipal(SPSecurableObject securableObject, SPDGPrincipal principal)
        {
            SPPrincipal spPrincipal;

            if (principal is SPDGServerUser)
            {
                spPrincipal = ((SPDGServerUser)principal).SPUser;
            }
            else
            {
                spPrincipal = ((SPDGServerGroup)principal).Group;
            }
            try
            {
                var spRoleAss = securableObject.RoleAssignments.GetAssignmentByPrincipal(spPrincipal);
                return(new SPDGServerRoleAssignment(spRoleAss, principal, spRoleAss.RoleDefinitionBindings.Cast <SPRoleDefinition>().Select(x => (SPDGRoleDefinition) new SPDGServerRoleDefinition(x))));
            }
            catch (Exception)
            {
                //ugly but will do
                return(null);
            }
        }
Esempio n. 12
0
 public SPDGClientRoleAssignment(SPDGPrincipal member)
     : base(member, new List <SPDGRoleDefinition>())
 {
 }