public static IList<IOperationPermission> GetPermissions(IDCMemberPermissions memberPermissions) {
     IList<IOperationPermission> result = new List<IOperationPermission>();
     if(memberPermissions.Owner != null && memberPermissions.Owner.TargetType != null && !String.IsNullOrEmpty(memberPermissions.Members)) {
         if(memberPermissions.AllowRead) {
             result.Add(new MemberOperationPermission(memberPermissions.Owner.TargetType, memberPermissions.Members, SecurityOperations.Read));
         }
         if(memberPermissions.AllowWrite) {
             result.Add(new MemberOperationPermission(memberPermissions.Owner.TargetType, memberPermissions.Members, SecurityOperations.Write));
         }
     }
     return result;
 }
 public static String Get_InheritedFrom(IDCMemberPermissions memberPermissions) {
     String result = "";
     if(memberPermissions.Owner != null) {
         if(memberPermissions.Owner.AllowRead) {
             result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Read") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(memberPermissions.Owner.TargetType.FullName)));
         }
         if(memberPermissions.Owner.AllowWrite) {
             result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Write") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(memberPermissions.Owner.TargetType.FullName)));
         }
     }
     return result;
 }
 public static Boolean? Get_EffectiveWrite(IDCMemberPermissions memberPermissions) {
     Boolean? result;
     if(memberPermissions.AllowWrite) {
         result = true;
     }
     else if(memberPermissions.Owner != null && memberPermissions.Owner.AllowWrite) {
         result = null;
     }
     else {
         result = false;
     }
     return result;
 }
Beispiel #4
0
        public static IList <IOperationPermission> GetPermissions(IDCMemberPermissions memberPermissions)
        {
            IList <IOperationPermission> result = new List <IOperationPermission>();

            if (memberPermissions.Owner != null && memberPermissions.Owner.TargetType != null && !String.IsNullOrEmpty(memberPermissions.Members))
            {
                if (memberPermissions.AllowRead)
                {
                    result.Add(new MemberOperationPermission(memberPermissions.Owner.TargetType, memberPermissions.Members, SecurityOperations.Read));
                }
                if (memberPermissions.AllowWrite)
                {
                    result.Add(new MemberOperationPermission(memberPermissions.Owner.TargetType, memberPermissions.Members, SecurityOperations.Write));
                }
            }
            return(result);
        }
Beispiel #5
0
        public static String Get_InheritedFrom(IDCMemberPermissions memberPermissions)
        {
            String result = "";

            if (memberPermissions.Owner != null)
            {
                if (memberPermissions.Owner.AllowRead)
                {
                    result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Read") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(memberPermissions.Owner.TargetType.FullName)));
                }
                if (memberPermissions.Owner.AllowWrite)
                {
                    result = String.Concat(result, String.Format(CaptionHelper.GetLocalizedText("Messages", "Write") + CaptionHelper.GetLocalizedText("Messages", "IsInheritedFrom"), CaptionHelper.GetClassCaption(memberPermissions.Owner.TargetType.FullName)));
                }
            }
            return(result);
        }
Beispiel #6
0
        public static Boolean?Get_EffectiveWrite(IDCMemberPermissions memberPermissions)
        {
            Boolean?result;

            if (memberPermissions.AllowWrite)
            {
                result = true;
            }
            else if (memberPermissions.Owner != null && memberPermissions.Owner.AllowWrite)
            {
                result = null;
            }
            else
            {
                result = false;
            }
            return(result);
        }
        public static bool?Get_EffectiveRead(IDCMemberPermissions memberPermissions)
        {
            bool?result;

            if (memberPermissions.AllowRead)
            {
                result = true;
            }
            else if (memberPermissions.Owner != null && memberPermissions.Owner.AllowRead)
            {
                result = null;
            }
            else
            {
                result = false;
            }
            return(result);
        }
Beispiel #8
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);
        }
Beispiel #9
0
 public static void Set_EffectiveWrite(IDCMemberPermissions memberPermissions, Boolean?value)
 {
     memberPermissions.AllowWrite = value ?? false;
 }
Beispiel #10
0
 public static void Set_EffectiveRead(IDCMemberPermissions memberPermissions, Boolean?value)
 {
     memberPermissions.AllowRead = value ?? false;
 }
Beispiel #11
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);
        }
Beispiel #12
0
 public static void Set_EffectiveWrite(IDCMemberPermissions memberPermissions, Boolean? value) {
     memberPermissions.AllowWrite = value ?? false;
 }
Beispiel #13
0
 public static void Set_EffectiveRead(IDCMemberPermissions memberPermissions, Boolean? value) {
     memberPermissions.AllowRead = value ?? false;
 }