public static bool HasPermissions(this IObjVerEx obj, PERMISSIONS permissionsToCheck, int userOrGroupId, bool isGroup) { if (obj.objVerEx.Permissions == null) { return(false); } bool hasPermission = true; ObjectVersionPermissions objPermissions = obj.objVerEx.Permissions; AccessControlListComponent aclComponent = objPermissions.AccessControlList.CustomComponent; AccessControlEntryData aceData = aclComponent.GetACEByUserOrGroupID(userOrGroupId, isGroup); if ((permissionsToCheck & PERMISSIONS.READ) == PERMISSIONS.READ) { hasPermission = hasPermission && aceData.ReadPermission == MFPermission.MFPermissionAllow; } if ((permissionsToCheck & PERMISSIONS.DELETE) == PERMISSIONS.DELETE) { hasPermission = hasPermission && aceData.DeletePermission == MFPermission.MFPermissionAllow; } if ((permissionsToCheck & PERMISSIONS.EDIT) == PERMISSIONS.EDIT) { hasPermission = hasPermission && aceData.EditPermission == MFPermission.MFPermissionAllow; } if ((permissionsToCheck & PERMISSIONS.CHANGE_PERMISSIONS) == PERMISSIONS.CHANGE_PERMISSIONS) { hasPermission = hasPermission && aceData.ChangePermissionsPermission == MFPermission.MFPermissionAllow; } if ((permissionsToCheck & PERMISSIONS.ATTACH_OBJECT) == PERMISSIONS.ATTACH_OBJECT) { hasPermission = hasPermission && aceData.AttachObjectsPermission == MFPermission.MFPermissionAllow; } return(hasPermission); }
private bool Checkperm(AccessControlEntryData perm) { return(!( //perm.AttachObjectsPermission == MFPermission.MFPermissionAllow || perm.ChangePermissionsPermission == MFPermission.MFPermissionAllow || perm.DeletePermission == MFPermission.MFPermissionAllow || perm.EditPermission == MFPermission.MFPermissionAllow || perm.ReadPermission == MFPermission.MFPermissionAllow)); }
internal static AccessControlEntryDataWrapper GetInstance() { AccessControlEntryData real = default(AccessControlEntryData); RealInstanceFactory(ref real); var instance = (AccessControlEntryDataWrapper)AccessControlEntryDataWrapper.GetWrapper(real); InstanceFactory(ref instance); if (instance == null) { Assert.Inconclusive("Could not Create Test Instance"); } return(instance); }
/// <summary> /// Initializes a new instance of the <see cref="AccessControlEntry"/> class. /// </summary> /// <param name="client"><see cref="T:TcmCoreService.Client" /></param> /// <param name="bluePrintInfo"><see cref="T:Tridion.ContentManager.CoreService.Client.AccessControlEntryData" /></param> public AccessControlEntry(Client client, AccessControlEntryData accessControlEntryData) : base(client) { mAccessControlEntryData = accessControlEntryData; }
public static void CreateNewDocumentWithNewACL() { LogIntoVault(); //Prerequisites for creating an object in mfiles; //Type of object E.g. 0 is for document //PropertyValues //Source files if the object's type is document or any other type that can have documents var properties = new PropertyValues(); //Class 0 -> Sınıflandırılmamış Doküman var classProperty = new PropertyValue(); classProperty.PropertyDef = (int)MFBuiltInPropertyDef.MFBuiltInPropertyDefClass; //Simply 100 classProperty.TypedValue.SetValue(MFDataType.MFDatatypeLookup, 0); properties.Add(0, classProperty); //Name or Title -> İsim veya başlık var nameProperty = new PropertyValue(); nameProperty.PropertyDef = (int)MFBuiltInPropertyDef.MFBuiltInPropertyDefNameOrTitle; //Simply 0 nameProperty.TypedValue.SetValue(MFDataType.MFDatatypeText, "SampleTextFile"); properties.Add(0, nameProperty); //File from fileSystem var sourceObjectFile = new SourceObjectFile(); sourceObjectFile.Title = "SampleTextFile"; sourceObjectFile.SourceFilePath = "SampleTextFile.txt"; sourceObjectFile.Extension = "txt"; //Create New ACL var accessControlList = new AccessControlList(); accessControlList.IsFullyAuthoritative = true; //Create Component var aclComponent = new AccessControlListComponent(); //Create Entry var aclEntryKey = new AccessControlEntryKey(); aclEntryKey.SetUserOrGroupID(1, true); //Create Data (Permissions for Entry) var aclData = new AccessControlEntryData(); aclData.DeletePermission = MFPermission.MFPermissionNotSet; aclData.ReadPermission = MFPermission.MFPermissionAllow; aclData.EditPermission = MFPermission.MFPermissionNotSet; aclData.AttachObjectsPermission = MFPermission.MFPermissionAllow; aclData.ChangePermissionsPermission = MFPermission.MFPermissionNotSet; //Set Entry Key, Data aclComponent.AccessControlEntries.Add(aclEntryKey, aclData); //Add to ACL accessControlList.CustomComponent = aclComponent; var namedACLAdmin = new NamedACLAdmin(); var namedACL = new NamedACL(); namedACL.AccessControlList = accessControlList; namedACL.Name = "NewACL" + Guid.NewGuid().ToString().Substring(7); namedACLAdmin.NamedACL = namedACL; //Add ACL TO Server var newCreatedACL = loggedInVault.NamedACLOperations.AddNamedACLAdmin(namedACLAdmin); //Use newly Added ACL loggedInVault.ObjectOperations.CreateNewSFDObject( 0 , properties , sourceObjectFile , true , newCreatedACL.NamedACL.AccessControlList); }
static partial void RealInstanceFactory(ref AccessControlEntryData real, [CallerMemberName] string callerName = "");
/// <summary> /// Initializes a new instance of the <see cref="AccessControlEntry"/> class. /// </summary> /// <param name="client"><see cref="T:TcmCoreService.Client" /></param> /// <param name="bluePrintInfo"><see cref="T:Tridion.ContentManager.CoreService.Client.AccessControlEntryData" /></param> public AccessControlEntry(Client client, AccessControlEntryData accessControlEntryData) : base(client) { mAccessControlEntryData = accessControlEntryData; }
public void Add(AccessControlEntryKey AccessControlEntryKey, AccessControlEntryData AccessControlEntryData) { throw new NotImplementedException(); }