Esempio n. 1
0
        public override void Execute(ExecutionContext context)
        {
            context.AssertRepositoryStarted();

            CheckParameters();

            using (new SystemAccount())
            {
                var path    = (string)context.ResolveVariable(Path);
                var content = Content.Load(path);
                if (content == null)
                {
                    Logger.LogWarningMessage("Content not found: " + path);
                    return;
                }

                var identity = Node.LoadNode(Identity) as ISecurityMember;
                if (identity == null)
                {
                    Logger.LogWarningMessage("Identity not found: " + Identity);
                    return;
                }

                var aclEditor          = SecurityHandler.CreateAclEditor();
                var permissionBitMmask = new PermissionBitMask
                {
                    AllowBits = SecurityHandler.GetPermissionMask(GetPermissionTypes(Allow)),
                    DenyBits  = SecurityHandler.GetPermissionMask(GetPermissionTypes(Deny))
                };

                ChangePermissions(content.Id, identity.Id, aclEditor, permissionBitMmask);

                aclEditor.Apply();
            }
        }
 internal PermissionChange(SecurityEntity entity, int identityId, EntryType entryType,
                           PermissionBitMask changedBits)
 {
     Entity      = entity;
     IdentityId  = identityId;
     EntryType   = entryType;
     ChangedBits = changedBits;
 }
        public void Sharing_AclEd_SetBitmask()
        {
            EnsureRepository();
            var ctx = CurrentContext.Security;

            var bitMask = new PermissionBitMask {
                AllowBits = 0x1Ful, DenyBits = 0x00ul
            };

            ctx.CreateAclEditor(EntryType.Sharing)
            .Set(Id("E5"), Id("U1"), false, bitMask)
            .Apply();

            var entries = ctx.GetExplicitEntries(Id("E5"), null, EntryType.Sharing);

            Assert.AreEqual(1, entries.Count);
        }
Esempio n. 4
0
        protected override void ChangePermissions(int contentId, int identityId, SnAclEditor aclEditor, PermissionBitMask permissionBitMmask)
        {
            if (!string.IsNullOrEmpty(Clear))
            {
                var clearBits = SecurityHandler.GetPermissionMask(GetPermissionTypes(Clear));
                aclEditor.Reset(contentId, identityId, LocalOnly,
                                new PermissionBitMask {
                    AllowBits = clearBits, DenyBits = clearBits
                });
            }

            aclEditor.Set(contentId, identityId, LocalOnly, permissionBitMmask);
        }
Esempio n. 5
0
 protected virtual void ChangePermissions(int contentId, int identityId, SnAclEditor aclEditor, PermissionBitMask permissionBitMmask)
 {
     aclEditor.Reset(contentId, identityId, LocalOnly, PermissionBitMask.All);
     aclEditor.Set(contentId, identityId, LocalOnly, permissionBitMmask);
 }