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'); }
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(); }
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); }