Beispiel #1
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;
            //}
            BusinessObjects.Administration.User sampleUser = ObjectSpace.FindObject <BusinessObjects.Administration.User>(new BinaryOperator("UserName", "User"));
            if (sampleUser == null)
            {
                sampleUser          = ObjectSpace.CreateObject <BusinessObjects.Administration.User>();
                sampleUser.UserName = "******";
                sampleUser.SetPassword("");
            }
            BusinessObjects.Administration.Role defaultRole = CreateDefaultRole();
            sampleUser.Roles.Add(defaultRole);

            BusinessObjects.Administration.User userAdmin = ObjectSpace.FindObject <BusinessObjects.Administration.User>(new BinaryOperator("UserName", "Admin"));
            if (userAdmin == null)
            {
                userAdmin          = ObjectSpace.CreateObject <BusinessObjects.Administration.User>();
                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
            BusinessObjects.Administration.Role adminRole = ObjectSpace.FindObject <BusinessObjects.Administration.Role>(new BinaryOperator("Name", "Administrators"));
            if (adminRole == null)
            {
                adminRole      = ObjectSpace.CreateObject <BusinessObjects.Administration.Role>();
                adminRole.Name = "Administrators";
            }
            adminRole.IsAdministrative = true;
            userAdmin.Roles.Add(adminRole);

            //Create System Settings
            if (ObjectSpace.GetObjectsCount(typeof(SystemSetting), null) == 0)
            {
                ObjectSpace.CreateObject <SystemSetting>();
            }

            ObjectSpace.CommitChanges(); //This line persists created object(s).
        }
Beispiel #2
0
        private BusinessObjects.Administration.Role CreateDefaultRole()
        {
            BusinessObjects.Administration.Role defaultRole = ObjectSpace.FindObject <BusinessObjects.Administration.Role>(new BinaryOperator("Name", "Default"));
            if (defaultRole == null)
            {
                defaultRole      = ObjectSpace.CreateObject <BusinessObjects.Administration.Role>();
                defaultRole.Name = "Default";

                defaultRole.AddObjectPermission <InsureCore.Module.BusinessObjects.Administration.User>(SecurityOperations.Read, "[Oid] = CurrentUserId()", SecurityPermissionState.Allow);
                defaultRole.AddNavigationPermission(@"Application/NavigationItems/Items/Administration/Items/MyDetails", SecurityPermissionState.Allow);
                defaultRole.AddMemberPermission <InsureCore.Module.BusinessObjects.Administration.User>(SecurityOperations.Write, "ChangePasswordOnFirstLogon", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow);
                defaultRole.AddMemberPermission <InsureCore.Module.BusinessObjects.Administration.User>(SecurityOperations.Write, "StoredPassword", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow);
                defaultRole.AddTypePermissionsRecursively <InsureCore.Module.BusinessObjects.Administration.Role>(SecurityOperations.Read, SecurityPermissionState.Deny);
                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);
        }