コード例 #1
0
ファイル: AccessCheck.php プロジェクト: TheProjecter/skeleton
 function run($controller)
 {
     // now rule objects are only created if denyAccess() exists
     $isloggedin = new A_User_Rule_Isloggedin();
     $ingroup = new A_User_Rule_Ingroup('admin');
     // check if access check fails
     if (!$isloggedin->isValid($this->user) && !$ingroup->isValid($this->user)) {
         // if access check fails then return DL so Front Controller
         // will forward to 'login' instead of requested Action
         return array('', 'login', 'index');
     }
 }
コード例 #2
0
ファイル: Loggedin.php プロジェクト: TheProjecter/skeleton
 function run($controller)
 {
     if (method_exists($controller, $this->method)) {
         if (is_a($this->session, 'A_User_Session')) {
             $user = $this->session;
         } else {
             $this->session->start();
             $user = new A_User_Session($this->session);
         }
         $groups = $controller->{$this->method}();
         $access = new A_User_Rule_Isloggedin($this->forward);
         if (!$access->isValid($user)) {
             if ($this->forward) {
                 return $this->forward;
             }
         }
     }
 }
コード例 #3
0
 function testUser_Rule_IsLoggedIn()
 {
     $level = 5;
     $errorMsg = 'error';
     $rule = new A_User_Rule_Isloggedin($errorMsg);
     $user = new UserMock();
     $this->assertFalse($rule->isValid($user));
     $this->assertFalse($rule->setUser($user)->isValid());
     $this->assertEqual($rule->getErrorMsg(), $errorMsg);
     $user->setLoggedIn(true);
     $this->assertTrue($rule->isValid($user));
     $this->assertTrue($rule->setUser($user)->isValid());
     $this->assertEqual($rule->getErrorMsg(), '');
 }