Esempio n. 1
0
        private void SetInheritance(Content content, SetPermissionsRequest request)
        {
            if (request.r != null)
            {
                throw new InvalidOperationException("Cannot use 'r' and 'inheritance' parameters at the same time.");
            }
            switch (request.inheritance.ToLower())
            {
            default:
                throw new ArgumentException("The value of the 'inheritance' must be 'break' or 'unbreak'.");

            case "break":
                content.ContentHandler.Security.BreakInheritance();
                break;

            case "unbreak":
                content.ContentHandler.Security.RemoveBreakInheritance();
                break;
            }
        }
Esempio n. 2
0
        private void SetPermissions(Content content, SetPermissionsRequest request)
        {
            var editor = content.ContentHandler.Security.GetAclEditor();

            foreach (var permReq in request.r)
            {
                var member     = LoadMember(permReq.identity);
                var propagates = permReq.propagates.HasValue ? permReq.propagates.Value : true;

                if (permReq.See != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.See, GetPermissionValue(permReq.See));
                }
                if (permReq.Open != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Open, GetPermissionValue(permReq.Open));
                }
                if (permReq.OpenMinor != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.OpenMinor, GetPermissionValue(permReq.OpenMinor));
                }
                if (permReq.Save != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Save, GetPermissionValue(permReq.Save));
                }
                if (permReq.Publish != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Publish, GetPermissionValue(permReq.Publish));
                }
                if (permReq.ForceCheckin != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.ForceCheckin, GetPermissionValue(permReq.ForceCheckin));
                }
                if (permReq.AddNew != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.AddNew, GetPermissionValue(permReq.AddNew));
                }
                if (permReq.Approve != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Approve, GetPermissionValue(permReq.Approve));
                }
                if (permReq.Delete != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Delete, GetPermissionValue(permReq.Delete));
                }
                if (permReq.RecallOldVersion != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.RecallOldVersion, GetPermissionValue(permReq.RecallOldVersion));
                }
                if (permReq.DeleteOldVersion != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.DeleteOldVersion, GetPermissionValue(permReq.DeleteOldVersion));
                }
                if (permReq.SeePermissions != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.SeePermissions, GetPermissionValue(permReq.SeePermissions));
                }
                if (permReq.SetPermissions != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.SetPermissions, GetPermissionValue(permReq.SetPermissions));
                }
                if (permReq.RunApplication != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.RunApplication, GetPermissionValue(permReq.RunApplication));
                }
                if (permReq.ManageListsAndWorkspaces != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.ManageListsAndWorkspaces, GetPermissionValue(permReq.ManageListsAndWorkspaces));
                }

                if (permReq.Preview != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Preview, GetPermissionValue(permReq.Preview));
                }
                if (permReq.PreviewWithoutWatermark != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.PreviewWithoutWatermark, GetPermissionValue(permReq.PreviewWithoutWatermark));
                }
                if (permReq.PreviewWithoutRedaction != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.PreviewWithoutRedaction, GetPermissionValue(permReq.PreviewWithoutRedaction));
                }

                if (permReq.Custom01 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom01, GetPermissionValue(permReq.Custom01));
                }
                if (permReq.Custom02 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom02, GetPermissionValue(permReq.Custom02));
                }
                if (permReq.Custom03 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom03, GetPermissionValue(permReq.Custom03));
                }
                if (permReq.Custom04 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom04, GetPermissionValue(permReq.Custom04));
                }
                if (permReq.Custom05 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom05, GetPermissionValue(permReq.Custom05));
                }
                if (permReq.Custom06 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom06, GetPermissionValue(permReq.Custom06));
                }
                if (permReq.Custom07 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom07, GetPermissionValue(permReq.Custom07));
                }
                if (permReq.Custom08 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom08, GetPermissionValue(permReq.Custom08));
                }
                if (permReq.Custom09 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom09, GetPermissionValue(permReq.Custom09));
                }
                if (permReq.Custom10 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom10, GetPermissionValue(permReq.Custom10));
                }
                if (permReq.Custom11 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom11, GetPermissionValue(permReq.Custom11));
                }
                if (permReq.Custom12 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom12, GetPermissionValue(permReq.Custom12));
                }
                if (permReq.Custom13 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom13, GetPermissionValue(permReq.Custom13));
                }
                if (permReq.Custom14 != null)
                {
                    editor.SetPermission(member, propagates, PermissionType.Custom14, GetPermissionValue(permReq.Custom14));
                }
            }
            editor.Apply();
        }