public void Deploy_SecurityRoles()
        {
            // Step 1, define security groups
            var customerSupport = new SecurityRoleDefinition
            {
                Name        = "Customer support role",
                Description = "Customer support team."
            };

            var customerReviewers = new SecurityRoleDefinition
            {
                Name        = "Customer reviewers role",
                Description = "Customer reviewers team."
            };

            // Step 2, define web model and artifact relationships - add security groups t the web
            var model = SPMeta2Model
                        .NewSiteModel(site =>
            {
                site
                .AddSecurityRole(customerSupport)
                .AddSecurityRole(customerReviewers);
            });

            // Step 3, deploy model
            DeploySiteModel(model);
        }
Example #2
0
        //[SampleMetadataTag(Name = BuiltInTagNames.SampleHidden)]

        public void CanDeploySimpleSecurityRoleDefinition()
        {
            var customerEditors = new SecurityRoleDefinition
            {
                Name            = "Customer editors",
                BasePermissions = new Collection <string>
                {
                    BuiltInBasePermissions.EditListItems,
                    BuiltInBasePermissions.UseClientIntegration
                }
            };

            var customerApprovers = new SecurityRoleDefinition
            {
                Name            = "Customer approvers",
                BasePermissions = new Collection <string>
                {
                    BuiltInBasePermissions.EditListItems,
                    BuiltInBasePermissions.DeleteListItems,
                    BuiltInBasePermissions.UseClientIntegration
                }
            };

            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site
                .AddSecurityRole(customerEditors)
                .AddSecurityRole(customerApprovers);
            });

            DeployModel(model);
        }
Example #3
0
        public override ModelNode ReverseSingleHost(object reverseHost, ReverseOptions options)
        {
            var item = (reverseHost as SecurityRoleReverseHost).HostRole;

            var def = new SecurityRoleDefinition();

            def.Name        = item.Name;
            def.Description = item.Description;

            var allPermissionNames = Enum.GetNames(typeof(PermissionKind));

            foreach (var permissionName in allPermissionNames)
            {
                var permissionValue = (PermissionKind)Enum.Parse(typeof(PermissionKind), permissionName, true);

                if (item.BasePermissions.Has(permissionValue))
                {
                    if (permissionValue != PermissionKind.EmptyMask)
                    {
                        def.BasePermissions.Add(permissionName);
                    }
                }
            }

            return(new SecurityRoleModelNode
            {
                Options = { RequireSelfProcessing = true },
                Value = def
            });
        }
Example #4
0
        public static ModelNode AddSecurityRoleLink(this ModelNode model, SecurityRoleDefinition definition, Action <ModelNode> action)
        {
            var roleLinkDefinition = new SecurityRoleLinkDefinition
            {
                SecurityRoleName = definition.Name
            };

            return(model.AddDefinitionNode(roleLinkDefinition, action));
        }
        public static SecurityRoleDefinition GetSecurityRoleTestTemplate(string groupRolePrefix, Action <SecurityRoleDefinition> action)
        {
            var result = new SecurityRoleDefinition
            {
                Name        = string.Format("{0}Role{1}", groupRolePrefix, Environment.TickCount),
                Description = string.Format("{0}description{1}", groupRolePrefix, Environment.TickCount)
            };

            if (action != null)
            {
                action(result);
            }

            return(result);
        }
Example #6
0
 public static ModelNode AddSecurityRole(this ModelNode model, SecurityRoleDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
Example #7
0
 public static ModelNode AddSecurityRole(this ModelNode model, SecurityRoleDefinition definition)
 {
     return(AddSecurityRole(model, definition, null));
 }
Example #8
0
 public static TModelNode AddSecurityRole <TModelNode>(this TModelNode model, SecurityRoleDefinition definition,
                                                       Action <SecurityRoleModelNode> action)
     where TModelNode : ModelNode, ISiteModelNode, new()
 {
     return(model.AddTypedDefinitionNode(definition, action));
 }
Example #9
0
 public static TModelNode AddSecurityRole <TModelNode>(this TModelNode model, SecurityRoleDefinition definition)
     where TModelNode : ModelNode, ISiteModelNode, new()
 {
     return(AddSecurityRole(model, definition, null));
 }