Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
 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;
 }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
 public static void Set_EffectiveRead(IDCObjectPermissions objectPermissions, Boolean?value)
 {
     objectPermissions.AllowRead = value ?? false;
 }
Example #7
0
 public static void Set_EffectiveNavigate(IDCObjectPermissions objectPermissions, Boolean?value)
 {
     objectPermissions.AllowNavigate = value ?? false;
 }
Example #8
0
 public static void Set_EffectiveDelete(IDCObjectPermissions objectPermissions, Boolean? value) {
     objectPermissions.AllowDelete = value ?? false;
 }
Example #9
0
 public static void Set_EffectiveRead(IDCObjectPermissions objectPermissions, Boolean? value) {
     objectPermissions.AllowRead = value ?? false;
 }
Example #10
0
 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;
 }
Example #11
0
 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;
 }
Example #12
0
        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);
        }