public override IContentSecurityDescriptor GetContentSecurityDescriptor() { if (!string.IsNullOrWhiteSpace(EditorGroup)) { _acl = GetAcl(EditorGroup); } return(_acl ?? base.GetContentSecurityDescriptor()); }
private ContentAccessControlList GetAcl(string groupName) { var acl = new ContentAccessControlList { IsInherited = false }; var parent = DataFactory.Instance.Get <VideoFolder>(ParentLink); if (parent != null) { foreach (var entry in parent.GetContentSecurityDescriptor().Entries) { acl.AddEntry(entry); } } if (!acl.Contains(groupName)) { acl.AddEntry(new AccessControlEntry(groupName, AccessLevel.Read | AccessLevel.Create | AccessLevel.Edit | AccessLevel.Delete | AccessLevel.Publish)); } return(acl); }