Beispiel #1
0
        private MarbidRole CreateDefaultRole()
        {
            MarbidRole defaultRole = ObjectSpace.FindObject <MarbidRole>(new BinaryOperator("Name", "Default"));

            if (defaultRole == null)
            {
                defaultRole      = ObjectSpace.CreateObject <MarbidRole>();
                defaultRole.Name = "Default";

                defaultRole.AddObjectPermission <Employee>(SecurityOperations.Read, "[Oid] = CurrentUserId()", SecurityPermissionState.Allow);
                defaultRole.AddNavigationPermission(@"Application/NavigationItems/Items/Default/Items/MyDetails", SecurityPermissionState.Allow);
                defaultRole.AddMemberPermission <Employee>(SecurityOperations.Write, "ChangePasswordOnFirstLogon", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow);
                defaultRole.AddMemberPermission <Employee>(SecurityOperations.Write, "StoredPassword", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow);
                defaultRole.AddTypePermissionsRecursively <Employee>(SecurityOperations.Read, SecurityPermissionState.Allow);
                defaultRole.AddTypePermissionsRecursively <ModelDifference>(SecurityOperations.ReadWriteAccess, SecurityPermissionState.Allow);
                defaultRole.AddTypePermissionsRecursively <ModelDifferenceAspect>(SecurityOperations.ReadWriteAccess, SecurityPermissionState.Allow);
                defaultRole.AddTypePermissionsRecursively <ModelDifference>(SecurityOperations.Create, SecurityPermissionState.Allow);
                defaultRole.AddTypePermissionsRecursively <ModelDifferenceAspect>(SecurityOperations.Create, SecurityPermissionState.Allow);
            }
            return(defaultRole);
        }
Beispiel #2
0
        public override void UpdateDatabaseAfterUpdateSchema()
        {
            base.UpdateDatabaseAfterUpdateSchema();
            //string name = "MyName";
            //DomainObject1 theObject = ObjectSpace.FindObject<DomainObject1>(CriteriaOperator.Parse("Name=?", name));
            //if(theObject == null) {
            //    theObject = ObjectSpace.CreateObject<DomainObject1>();
            //    theObject.Name = name;
            //}
            Employee sampleUser = ObjectSpace.FindObject <Employee>(new BinaryOperator("UserName", "Norman"));

            if (sampleUser == null)
            {
                sampleUser          = ObjectSpace.CreateObject <Employee>();
                sampleUser.UserName = "******";
                sampleUser.SetPassword("");
            }
            MarbidRole defaultRole = CreateDefaultRole();

            sampleUser.MarbidRoles.Add(defaultRole);

            Employee userAdmin = ObjectSpace.FindObject <Employee>(new BinaryOperator("UserName", "Admin"));

            if (userAdmin == null)
            {
                userAdmin          = ObjectSpace.CreateObject <Employee>();
                userAdmin.UserName = "******";
                // Set a password if the standard authentication type is used
                userAdmin.SetPassword("");
            }
            // If a role with the Administrators name doesn't exist in the database, create this role
            MarbidRole adminRole = ObjectSpace.FindObject <MarbidRole>(new BinaryOperator("Name", "Administrators"));

            if (adminRole == null)
            {
                adminRole      = ObjectSpace.CreateObject <MarbidRole>();
                adminRole.Name = "Administrators";
            }
            adminRole.IsAdministrative = true;
            userAdmin.MarbidRoles.Add(adminRole);

            MarbidRole carManagerRole = ObjectSpace.FindObject <MarbidRole>(new BinaryOperator("Name", "Car Manager"));

            if (carManagerRole == null)
            {
                carManagerRole                  = ObjectSpace.CreateObject <MarbidRole>();
                carManagerRole.Name             = "Car Manager";
                carManagerRole.IsAdministrative = false;
            }

            if (ObjectSpace.GetObjectsCount(typeof(SystemSetting), null) == 0)
            {
                SystemSetting ss = ObjectSpace.CreateObject <SystemSetting>();
                ss.MaximumOfficeLeaveDays = 3;
                ss.YearlyOfficeLeaveDays  = 14;
                ss.DriverManagerRole      = adminRole;
                ss.HRRole = adminRole;
            }

            ObjectSpace.CommitChanges(); //This line persists created object(s).
        }