public static IList <IOperationPermission> GetPermissions(IDCObjectPermissions objectPermissions) { IList <IOperationPermission> result = new List <IOperationPermission>(); if (objectPermissions.Owner == null) { } else if (objectPermissions.Owner.TargetType == null) { } else { if (objectPermissions.AllowRead) { result.Add(new ObjectOperationPermission(objectPermissions.Owner.TargetType, objectPermissions.Criteria, SecurityOperations.Read)); } if (objectPermissions.AllowWrite) { result.Add(new ObjectOperationPermission(objectPermissions.Owner.TargetType, objectPermissions.Criteria, SecurityOperations.Write)); } if (objectPermissions.AllowDelete) { result.Add(new ObjectOperationPermission(objectPermissions.Owner.TargetType, objectPermissions.Criteria, SecurityOperations.Delete)); } if (objectPermissions.AllowNavigate) { result.Add(new ObjectOperationPermission(objectPermissions.Owner.TargetType, objectPermissions.Criteria, SecurityOperations.Navigate)); } } return(result); }
public static String Get_InheritedFrom(IDCObjectPermissions objectPermissions) { String result = ""; if (objectPermissions.Owner != null) { if (objectPermissions.Owner.AllowRead) { result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Read") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(objectPermissions.Owner.TargetType.FullName))); } if (objectPermissions.Owner.AllowWrite) { result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Write") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(objectPermissions.Owner.TargetType.FullName))); } if (objectPermissions.Owner.AllowDelete) { result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Delete") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(objectPermissions.Owner.TargetType.FullName))); } if (objectPermissions.Owner.AllowNavigate) { result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Navigate") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(objectPermissions.Owner.TargetType.FullName))); } } return(result); }
public static Boolean? Get_EffectiveWrite(IDCObjectPermissions objectPermissions) { Boolean? result; if(objectPermissions.AllowWrite) { result = true; } else if(objectPermissions.Owner != null && objectPermissions.Owner.AllowWrite) { result = null; } else { result = false; } return result; }
public static Boolean?Get_EffectiveRead(IDCObjectPermissions objectPermissions) { Boolean?result; if (objectPermissions.AllowRead) { result = true; } else if (objectPermissions.Owner != null && objectPermissions.Owner.AllowRead) { result = null; } else { result = false; } return(result); }
private IDCRole GetDefaultRole() { IDCRole defaultRole = ObjectSpace.FindObject <IDCRole>(new BinaryOperator("Name", "Default")); if (defaultRole == null) { defaultRole = ObjectSpace.CreateObject <IDCRole>(); defaultRole.Name = "Default"; IDCTypePermissions securityDemoUserPermissions = ObjectSpace.CreateObject <IDCTypePermissions>(); securityDemoUserPermissions.TargetType = typeof(IDCUser); defaultRole.TypePermissions.Add(securityDemoUserPermissions); IDCObjectPermissions myDetailsPermission = ObjectSpace.CreateObject <IDCObjectPermissions>(); myDetailsPermission.Criteria = "[Oid] = CurrentUserId()"; myDetailsPermission.AllowNavigate = true; myDetailsPermission.AllowRead = true; securityDemoUserPermissions.ObjectPermissions.Add(myDetailsPermission); IDCTypePermissions userPermissions = ObjectSpace.CreateObject <IDCTypePermissions>(); userPermissions.TargetType = typeof(IDCUser); defaultRole.TypePermissions.Add(userPermissions); IDCMemberPermissions ownPasswordPermission = ObjectSpace.CreateObject <IDCMemberPermissions>(); ownPasswordPermission.Members = "ChangePasswordOnFirstLogon; StoredPassword"; ownPasswordPermission.AllowWrite = true; userPermissions.MemberPermissions.Add(ownPasswordPermission); IDCTypePermissions securityRolePermissions = ObjectSpace.CreateObject <IDCTypePermissions>(); securityRolePermissions.TargetType = typeof(IDCRole); defaultRole.TypePermissions.Add(userPermissions); IDCObjectPermissions defaultRolePermission = ObjectSpace.CreateObject <IDCObjectPermissions>(); defaultRolePermission.Criteria = "[Name] = 'Default'"; defaultRolePermission.AllowNavigate = true; defaultRolePermission.AllowRead = true; securityRolePermissions.ObjectPermissions.Add(defaultRolePermission); } return(defaultRole); }
public static void Set_EffectiveRead(IDCObjectPermissions objectPermissions, Boolean?value) { objectPermissions.AllowRead = value ?? false; }
public static void Set_EffectiveNavigate(IDCObjectPermissions objectPermissions, Boolean?value) { objectPermissions.AllowNavigate = value ?? false; }
public static void Set_EffectiveDelete(IDCObjectPermissions objectPermissions, Boolean? value) { objectPermissions.AllowDelete = value ?? false; }
public static void Set_EffectiveRead(IDCObjectPermissions objectPermissions, Boolean? value) { objectPermissions.AllowRead = value ?? false; }
public static IList<IOperationPermission> GetPermissions(IDCObjectPermissions objectPermissions) { IList<IOperationPermission> result = new List<IOperationPermission>(); if(objectPermissions.Owner == null) { } else if(objectPermissions.Owner.TargetType == null) { } else { if(objectPermissions.AllowRead) { result.Add(new ObjectOperationPermission(objectPermissions.Owner.TargetType, objectPermissions.Criteria, SecurityOperations.Read)); } if(objectPermissions.AllowWrite) { result.Add(new ObjectOperationPermission(objectPermissions.Owner.TargetType, objectPermissions.Criteria, SecurityOperations.Write)); } if(objectPermissions.AllowDelete) { result.Add(new ObjectOperationPermission(objectPermissions.Owner.TargetType, objectPermissions.Criteria, SecurityOperations.Delete)); } if(objectPermissions.AllowNavigate) { result.Add(new ObjectOperationPermission(objectPermissions.Owner.TargetType, objectPermissions.Criteria, SecurityOperations.Navigate)); } } return result; }
public static String Get_InheritedFrom(IDCObjectPermissions objectPermissions) { String result = ""; if(objectPermissions.Owner != null) { if(objectPermissions.Owner.AllowRead) { result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Read") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(objectPermissions.Owner.TargetType.FullName))); } if(objectPermissions.Owner.AllowWrite) { result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Write") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(objectPermissions.Owner.TargetType.FullName))); } if(objectPermissions.Owner.AllowDelete) { result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Delete") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(objectPermissions.Owner.TargetType.FullName))); } if(objectPermissions.Owner.AllowNavigate) { result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Navigate") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(objectPermissions.Owner.TargetType.FullName))); } } return result; }
private IDCRole GetSecurityDemoRole() { IDCRole securityDemoRole = ObjectSpace.FindObject <IDCRole>(new BinaryOperator("Name", "Demo")); if (securityDemoRole == null) { securityDemoRole = ObjectSpace.CreateObject <IDCRole>(); securityDemoRole.Name = "Demo"; // Type Operation Permissions IDCTypePermissions fullAccessPermission = ObjectSpace.CreateObject <IDCTypePermissions>(); fullAccessPermission.TargetType = typeof(IFullAccessObject); fullAccessPermission.AllowCreate = true; fullAccessPermission.AllowDelete = true; fullAccessPermission.AllowNavigate = true; fullAccessPermission.AllowRead = true; fullAccessPermission.AllowWrite = true; securityDemoRole.TypePermissions.Add(fullAccessPermission); IDCTypePermissions protectedContentPermission = ObjectSpace.CreateObject <IDCTypePermissions>(); protectedContentPermission.TargetType = typeof(IProtectedContentObject); protectedContentPermission.AllowNavigate = true; securityDemoRole.TypePermissions.Add(protectedContentPermission); IDCTypePermissions readOnlyPermission = ObjectSpace.CreateObject <IDCTypePermissions>(); readOnlyPermission.TargetType = typeof(IReadOnlyObject); readOnlyPermission.AllowNavigate = true; readOnlyPermission.AllowRead = true; securityDemoRole.TypePermissions.Add(readOnlyPermission); IDCTypePermissions irremovablePermission = ObjectSpace.CreateObject <IDCTypePermissions>(); irremovablePermission.TargetType = typeof(IIrremovableObject); irremovablePermission.AllowCreate = true; irremovablePermission.AllowNavigate = true; irremovablePermission.AllowRead = true; irremovablePermission.AllowWrite = true; securityDemoRole.TypePermissions.Add(irremovablePermission); IDCTypePermissions uncreatablePermission = ObjectSpace.CreateObject <IDCTypePermissions>(); uncreatablePermission.TargetType = typeof(IUncreatableObject); uncreatablePermission.AllowDelete = true; uncreatablePermission.AllowNavigate = true; uncreatablePermission.AllowRead = true; uncreatablePermission.AllowWrite = true; securityDemoRole.TypePermissions.Add(uncreatablePermission); // Member Operation Permissions IDCTypePermissions navigateMemberLevelOperationObjectPermission = ObjectSpace.CreateObject <IDCTypePermissions>(); navigateMemberLevelOperationObjectPermission.TargetType = typeof(IMemberLevelSecurityObject); navigateMemberLevelOperationObjectPermission.AllowCreate = true; navigateMemberLevelOperationObjectPermission.AllowDelete = true; navigateMemberLevelOperationObjectPermission.AllowNavigate = true; securityDemoRole.TypePermissions.Add(navigateMemberLevelOperationObjectPermission); IDCMemberPermissions readWriteMemberPermission = ObjectSpace.CreateObject <IDCMemberPermissions>(); readWriteMemberPermission.Members = "ReadWriteProperty; Name; oid; Oid; OptimisticLockField"; readWriteMemberPermission.AllowRead = true; readWriteMemberPermission.AllowWrite = true; navigateMemberLevelOperationObjectPermission.MemberPermissions.Add(readWriteMemberPermission); IDCMemberPermissions protectedContentMemberPermission = ObjectSpace.CreateObject <IDCMemberPermissions>(); protectedContentMemberPermission.Members = "ProtectedContentProperty; ProtectedContentCollection"; navigateMemberLevelOperationObjectPermission.MemberPermissions.Add(protectedContentMemberPermission); IDCMemberPermissions readOnlyMemberPermission = ObjectSpace.CreateObject <IDCMemberPermissions>(); readOnlyMemberPermission.Members = "ReadOnlyProperty; ReadOnlyCollection"; readOnlyMemberPermission.AllowRead = true; navigateMemberLevelOperationObjectPermission.MemberPermissions.Add(readOnlyMemberPermission); IDCTypePermissions memberLevelReferencedObject1Permission = ObjectSpace.CreateObject <IDCTypePermissions>(); memberLevelReferencedObject1Permission.TargetType = typeof(IMemberLevelReferencedObject1); memberLevelReferencedObject1Permission.AllowRead = true; memberLevelReferencedObject1Permission.AllowWrite = true; memberLevelReferencedObject1Permission.AllowCreate = true; memberLevelReferencedObject1Permission.AllowDelete = true; securityDemoRole.TypePermissions.Add(memberLevelReferencedObject1Permission); IDCTypePermissions memberLevelReferencedObject2Permission = ObjectSpace.CreateObject <IDCTypePermissions>(); memberLevelReferencedObject2Permission.TargetType = typeof(IMemberLevelReferencedObject2); memberLevelReferencedObject2Permission.AllowRead = true; memberLevelReferencedObject2Permission.AllowWrite = true; memberLevelReferencedObject2Permission.AllowCreate = true; memberLevelReferencedObject2Permission.AllowDelete = true; securityDemoRole.TypePermissions.Add(memberLevelReferencedObject2Permission); // Object Operation Permissions IDCTypePermissions navigateObjectLevelSecurityObjectPermission = ObjectSpace.CreateObject <IDCTypePermissions>(); navigateObjectLevelSecurityObjectPermission.TargetType = typeof(IObjectLevelSecurityObject); navigateObjectLevelSecurityObjectPermission.AllowNavigate = true; securityDemoRole.TypePermissions.Add(navigateObjectLevelSecurityObjectPermission); IDCObjectPermissions fullAccessObjectPermission = ObjectSpace.CreateObject <IDCObjectPermissions>(); fullAccessObjectPermission.Criteria = "[Name] Like '%Fully Accessible%'"; fullAccessObjectPermission.AllowDelete = true; fullAccessObjectPermission.AllowNavigate = true; fullAccessObjectPermission.AllowRead = true; fullAccessObjectPermission.AllowWrite = true; navigateObjectLevelSecurityObjectPermission.ObjectPermissions.Add(fullAccessObjectPermission); IDCObjectPermissions protectedContentObjectPermission = ObjectSpace.CreateObject <IDCObjectPermissions>(); protectedContentObjectPermission.Criteria = "[Name] Like '%Protected%'"; protectedContentObjectPermission.AllowNavigate = true; navigateObjectLevelSecurityObjectPermission.ObjectPermissions.Add(protectedContentObjectPermission); IDCObjectPermissions readOnlyObjectPermission = ObjectSpace.CreateObject <IDCObjectPermissions>(); readOnlyObjectPermission.Criteria = "[Name] Like '%Read-Only%'"; readOnlyObjectPermission.AllowNavigate = true; readOnlyObjectPermission.AllowRead = true; navigateObjectLevelSecurityObjectPermission.ObjectPermissions.Add(readOnlyObjectPermission); IDCObjectPermissions irremovableObjectPermission = ObjectSpace.CreateObject <IDCObjectPermissions>(); irremovableObjectPermission.Criteria = "[Name] Like '%Protected Deletion%'"; irremovableObjectPermission.AllowNavigate = true; irremovableObjectPermission.AllowRead = true; irremovableObjectPermission.AllowWrite = true; navigateObjectLevelSecurityObjectPermission.ObjectPermissions.Add(irremovableObjectPermission); } return(securityDemoRole); }