public function setUp()
 {
     parent::setUp();
     $testRole = new Opus_UserRole();
     $testRole->setName('_test');
     $testRole->appendAccessModule('documents');
     $this->roleId = $testRole->store();
     $userAccount = new Opus_Account();
     $userAccount->setLogin('role_tester')->setPassword('role_tester');
     $userAccount->setRole($testRole);
     $this->userId = $userAccount->store();
     // fake authentication
     Zend_Auth::getInstance()->getStorage()->write('role_tester');
 }
 public function setUp()
 {
     parent::setUp();
     $this->enableSecurity();
     $userRole = new Opus_UserRole();
     $userRole->setName($this->roleName);
     $userRole->appendAccessModule('admin');
     $userRole->appendAccessModule('resource_series');
     $userRole->store();
     $user = new Opus_Account();
     $user->setLogin($this->userName);
     $user->setPassword('seriesadminpwd');
     $user->addRole($userRole);
     $user->store();
     $this->loginUser($this->userName, 'seriesadminpwd');
 }
 protected function _updateRole($roleId, $name)
 {
     if (!empty($roleId)) {
         $role = new Opus_UserRole($roleId);
     } else {
         $role = new Opus_UserRole();
     }
     $oldName = $role->getName();
     if (!empty($name) && !in_array($name, self::$_protectedRoles)) {
         $role->setName($name);
     }
     $role->store();
 }
 public function testUserAccessToInstituteWithInstituteRightsRegression3245()
 {
     $testRole = new Opus_UserRole();
     $testRole->setName('TestRole');
     $testRole->appendAccessModule('admin');
     $testRole->appendAccessModule('resource_institutions');
     $this->roleId = $testRole->store();
     $userAccount = new Opus_Account();
     $userAccount->setLogin('role_tester')->setPassword('role_tester');
     $userAccount->setRole($testRole);
     $this->userId = $userAccount->store();
     $this->enableSecurity();
     $this->loginUser('role_tester', 'role_tester');
     $this->useEnglish();
     $this->dispatch('/admin/dnbinstitute/edit/id/1');
     $this->assertNotRedirect();
     $this->assertNotRedirectTo('/auth', 'User is not able to edit dnb-institutions, ' . 'although he has the right to do it');
     $this->assertQueryContentContains('//label', 'Department', 'User is not able to edit dnb-institutions, ' . 'although he has the right to do it');
 }
Esempio n. 5
0
 public function testAccessUserToFileRegression3281()
 {
     $this->enableSecurity();
     // test document access as user with document access rights
     $doc = $this->createTestDocument();
     $doc->setServerState('published');
     $publishedDocId = $doc->store();
     $doc = $this->createTestDocument();
     $doc->setServerState('unpublished');
     $unpublishedDocId = $doc->store();
     $testRole = new Opus_UserRole();
     $testRole->setName('test_access');
     $testRole->appendAccessDocument($unpublishedDocId);
     $testRole->appendAccessDocument($publishedDocId);
     $this->roleId = $testRole->store();
     $userAccount = new Opus_Account();
     $userAccount->setLogin('test_account')->setPassword('role_tester_user2');
     $userAccount->setRole($testRole);
     $this->userId = $userAccount->store();
     $this->loginUser('test_account', 'role_tester_user2');
     $this->tryAccessForDocument($publishedDocId, true);
     $this->tryAccessForDocument($unpublishedDocId, true);
     $this->logoutUser();
 }
Esempio n. 6
0
 private function mapRoles()
 {
     $mf = $this->config->migration->mapping->roles;
     $fp = null;
     try {
         $fp = @fopen($mf, 'w');
         if (!$fp) {
             throw new Exception("ERROR Opus3RoleImport: Could not create '" . $mf . "' for Roles.\n");
         }
     } catch (Exception $e) {
         $this->logger->log($e->getMessage(), Zend_Log::ERR);
         return;
     }
     try {
         if (count($this->roles) > 0) {
             foreach ($this->roles as $r) {
                 $name = $r->name;
                 $bereich = $r->bereich;
                 $role = null;
                 if (Opus_UserRole::fetchByname($name)) {
                     $role = Opus_UserRole::fetchByname($name);
                     $this->logger->log("Role in DB found: " . $r->name, Zend_Log::DEBUG);
                 } else {
                     $role = new Opus_UserRole();
                     $role->setName($r->name);
                     $role->store();
                     $this->logger->log("Role imported: " . $r->name, Zend_Log::DEBUG);
                 }
                 $db_ips = array();
                 $db_ips = Opus_Iprange::getAll();
                 if (count($r->ip) > 0) {
                     foreach ($r->ip as $role_ip) {
                         foreach ($db_ips as $db_ip) {
                             if ($role_ip == $db_ip->getDisplayName()) {
                                 $roles = array();
                                 $roles = $db_ip->getRole();
                                 array_push($roles, $role);
                                 $db_ip->setRole($roles);
                                 $db_ip->store();
                             }
                         }
                     }
                 }
                 fputs($fp, $r->bereich . ' ' . $role->getId() . "\n");
             }
         }
     } catch (Exception $e) {
         $this->logger->log($e->getMessage(), Zend_Log::ERR);
     }
     fclose($fp);
 }