⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auth.test.php

📁 Cake Framwork , Excellent
💻 PHP
📖 第 1 页 / 共 2 页
字号:
		$this->Controller->Session->del('Auth');		$this->Controller->data['AuthUser']['username'] = 'now() or 1=1 --';		$this->Controller->data['AuthUser']['password'] = '';		$this->Controller->Auth->startup($this->Controller);		$user = $this->Controller->Auth->user();		$this->assertFalse($user);		$this->Controller->Session->del('Auth');		$this->Controller->data['AuthUser']['username'] = 'now() or 1=1 # something';		$this->Controller->data['AuthUser']['password'] = '';		$this->Controller->Auth->startup($this->Controller);		$user = $this->Controller->Auth->user();		$this->assertFalse($user);		$this->Controller->Session->del('Auth');	}/** * testAuthorizeFalse method *  * @access public * @return void */	function testAuthorizeFalse() {		$this->AuthUser =& new AuthUser();		$user = $this->AuthUser->find();		$this->Controller->Session->write('Auth', $user);		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->authorize = false;		$result = $this->Controller->Auth->startup($this->Controller);		$this->assertTrue($result);		$this->Controller->Session->del('Auth');		$result = $this->Controller->Auth->startup($this->Controller);		$this->assertTrue($this->Controller->Session->check('Message.auth'));	}/** * testAuthorizeController method *  * @access public * @return void */	function testAuthorizeController(){		$this->AuthUser =& new AuthUser();		$user = $this->AuthUser->find();		$this->Controller->Session->write('Auth', $user);		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->authorize = 'controller';		$result = $this->Controller->Auth->startup($this->Controller);		$this->assertTrue($result);		$this->Controller->params['testControllerAuth'] = 1;		$result = $this->Controller->Auth->startup($this->Controller);		$this->assertTrue($this->Controller->Session->check('Message.auth'));		$this->assertFalse($result);		$this->Controller->Session->del('Auth');	}/** * testAuthorizeModel method *  * @access public * @return void */	function testAuthorizeModel() {		$this->AuthUser =& new AuthUser();		$user = $this->AuthUser->find();		$this->Controller->Session->write('Auth', $user);		$this->Controller->params['controller'] = 'auth_test';		$this->Controller->params['action'] = 'add';		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->authorize = array('model'=>'AuthUser');		$result = $this->Controller->Auth->startup($this->Controller);		$this->assertTrue($result);		$this->Controller->Session->del('Auth');		$this->Controller->Auth->startup($this->Controller);		$this->assertTrue($this->Controller->Session->check('Message.auth'));		$result = $this->Controller->Auth->isAuthorized();		$this->assertFalse($result);	}/** * testAuthorizeCrud method *  * @access public * @return void */	function testAuthorizeCrud() {		$this->AuthUser =& new AuthUser();		$user = $this->AuthUser->find();		$this->Controller->Session->write('Auth', $user);		$this->Controller->params['controller'] = 'auth_test';		$this->Controller->params['action'] = 'add';		$this->Controller->Acl->name = 'DbAclTest';		$this->Controller->Acl->Aro->id = null;		$this->Controller->Acl->Aro->create(array('alias'=>'Roles'));		$result = $this->Controller->Acl->Aro->save();		$this->assertTrue($result);		$parent = $this->Controller->Acl->Aro->id;		$this->Controller->Acl->Aro->create(array('parent_id'=> $parent, 'alias'=>'Admin'));		$result = $this->Controller->Acl->Aro->save();		$this->assertTrue($result);		$parent = $this->Controller->Acl->Aro->id;		$this->Controller->Acl->Aro->create(array('model' => 'AuthUser', 'parent_id' => $parent, 'foreign_key' => 1, 'alias'=> 'mariano'));		$result = $this->Controller->Acl->Aro->save();		$this->assertTrue($result);		$this->Controller->Acl->Aco->create(array('alias'=>'Root'));		$result = $this->Controller->Acl->Aco->save();		$this->assertTrue($result);		$parent = $this->Controller->Acl->Aco->id;		$this->Controller->Acl->Aco->create(array('parent_id' => $parent, 'alias' => 'AuthTest'));		$result = $this->Controller->Acl->Aco->save();		$this->assertTrue($result);		$this->Controller->Acl->allow('Roles/Admin', 'Root');		$this->Controller->Acl->allow('Roles/Admin', 'Root/AuthTest');		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->authorize = 'crud';		$this->Controller->Auth->actionPath = 'Root/';		$this->Controller->Auth->startup($this->Controller);		$this->assertTrue($this->Controller->Auth->isAuthorized());		$this->Controller->Session->del('Auth');		$this->Controller->Auth->startup($this->Controller);		$this->assertTrue($this->Controller->Session->check('Message.auth'));	}/** * testLoginRedirect method *  * @access public * @return void */	function testLoginRedirect() {		if (isset($_SERVER['HTTP_REFERER'])) {			$backup = $_SERVER['HTTP_REFERER'];		} else {			$backup = null;		}		$_SERVER['HTTP_REFERER'] = false;		$this->Controller->Session->write('Auth', array('AuthUser' => array('id'=>'1', 'username'=>'nate')));		$this->Controller->params['url']['url'] = 'users/login';		$this->Controller->Auth->initialize($this->Controller); 		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->loginRedirect = array('controller' => 'pages', 'action' => 'display', 'welcome');		$this->Controller->Auth->startup($this->Controller);		$expected = Router::normalize($this->Controller->Auth->loginRedirect);		$this->assertEqual($expected, $this->Controller->Auth->redirect());		$this->Controller->Session->del('Auth');		$this->Controller->params['url']['url'] = 'admin/';		$this->Controller->Auth->initialize($this->Controller); 		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->loginRedirect = null;		$this->Controller->Auth->startup($this->Controller);		$expected = Router::normalize('admin/');		$this->assertTrue($this->Controller->Session->check('Message.auth'));		$this->assertEqual($expected, $this->Controller->Auth->redirect());		$this->Controller->Session->del('Auth');		$_SERVER['HTTP_REFERER'] = '/admin/';		$this->Controller->Session->write('Auth', array('AuthUser' => array('id'=>'1', 'username'=>'nate')));		$this->Controller->params['url']['url'] = 'auth_test/login';		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->loginAction = 'auth_test/login'; 		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->loginRedirect = false;		$this->Controller->Auth->startup($this->Controller);		$expected = Router::normalize('admin');		$this->assertEqual($expected, $this->Controller->Auth->redirect());		//Ticket #4750		//named params		$this->Controller->Session->del('Auth');		$url = '/posts/index/year:2008/month:feb';		$this->Controller->params = Router::parse($url);		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->loginAction = array('controller' => 'AuthTest', 'action' => 'login'); 		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->startup($this->Controller);		$expected = Router::normalize('posts/index/year:2008/month:feb');		$this->assertEqual($expected, $this->Controller->Session->read('Auth.redirect'));		//passed args		$this->Controller->Session->del('Auth');		$url = '/posts/view/1';		$this->Controller->params = Router::parse($url);		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->loginAction = array('controller' => 'AuthTest', 'action' => 'login'); 		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->startup($this->Controller);		$expected = Router::normalize('posts/view/1');		$this->assertEqual($expected, $this->Controller->Session->read('Auth.redirect'));		$_SERVER['HTTP_REFERER'] = $backup;		$this->Controller->Session->del('Auth');	}	function testEmptyUsernameOrPassword() {		$this->AuthUser =& new AuthUser();		$user['id'] = 1;		$user['username'] = 'mariano';		$user['password'] = Security::hash(Configure::read('Security.salt') . 'cake');		$this->AuthUser->save($user, false);		$authUser = $this->AuthUser->find();		$this->Controller->data['AuthUser']['username'] = '';		$this->Controller->data['AuthUser']['password'] = '';		$this->Controller->params['url']['url'] = 'auth_test/login';		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->loginAction = 'auth_test/login';		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->startup($this->Controller);		$user = $this->Controller->Auth->user();		$this->assertTrue($this->Controller->Session->check('Message.auth'));		$this->assertEqual($user, false);		$this->Controller->Session->del('Auth');	}	function testInjection() {		$this->AuthUser =& new AuthUser();		Configure::write('debug', 1);		$this->AuthUser->id = 2;		$this->AuthUser->saveField('password', Security::hash(Configure::read('Security.salt') . 'cake'));		$this->Controller->data['AuthUser']['username'] = 'nate';		$this->Controller->data['AuthUser']['password'] = 'cake';		$this->Controller->params['url']['url'] = 'auth_test/login';		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->loginAction = 'auth_test/login';		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->startup($this->Controller);		$this->assertTrue(is_array($this->Controller->Auth->user()));		$this->Controller->Session->del($this->Controller->Auth->sessionKey);		$this->Controller->data['AuthUser']['username'] = 'nate';		$this->Controller->data['AuthUser']['password'] = 'cake1';		$this->Controller->params['url']['url'] = 'auth_test/login';		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->loginAction = 'auth_test/login';		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->startup($this->Controller);		$this->assertTrue(is_null($this->Controller->Auth->user()));		$this->Controller->Session->del($this->Controller->Auth->sessionKey);		$this->Controller->data['AuthUser']['username'] = '> n';		$this->Controller->data['AuthUser']['password'] = 'cake';		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->startup($this->Controller);		$this->assertTrue(is_null($this->Controller->Auth->user()));	}	function testCustomRoute() {		Router::reload();		Router::connect('/:lang/:controller/:action/*', array('lang' => null), array('lang' => '[a-z]{2,3}'));		$url = '/en/users/login';		$this->Controller->params = Router::parse($url);		Router::setRequestInfo(array($this->Controller->passedArgs, array('base' => null, 'here' => $url, 'webroot' => '/', 'passedArgs' => array(), 'argSeparator' => ':', 'namedArgs' => array())));		$this->AuthUser =& new AuthUser();		$user = array('id' => 1, 'username' => 'felix', 'password' => Security::hash(Configure::read('Security.salt') . 'cake'));		$user = $this->AuthUser->save($user, false);		$this->Controller->data['AuthUser'] = array('username' => 'felix', 'password' => 'cake');		$this->Controller->params['url']['url'] = substr($url, 1);		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->loginAction = array('controller' => 'users', 'action' => 'login');		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->startup($this->Controller);		$user = $this->Controller->Auth->user();		$this->assertTrue(!!$user);	}	function testAdminRoute() {		Router::reload();		$admin = Configure::read('Routing.admin');		Configure::write('Routing.admin', 'admin');		$url = '/admin/something';		$this->Controller->params = Router::parse($url);		$this->Controller->params['url']['url'] = ltrim($url, '/');		Router::setRequestInfo(array(			array(				'pass' => array(), 'action' => 'index', 'plugin' => null, 'controller' => 'something',				'admin' => true, 'url' => array('url' => $this->Controller->params['url']['url']),			),			array(				'base' => null, 'here' => $url,				'webroot' => '/', 'passedArgs' => array(),			)		));		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->loginAction = array('admin' => true, 'controller' => 'auth_test', 'action' => 'login');		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->startup($this->Controller);		$this->assertEqual($this->Controller->testUrl, '/admin/auth_test/login');		Configure::write('Routing.admin', $admin);	}	function testAjaxLogin() {		Configure::write('viewPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views'. DS));		$_SERVER['HTTP_X_REQUESTED_WITH'] = "XMLHttpRequest";		if (!class_exists('dispatcher')) {			require CAKE . 'dispatcher.php';		}		ob_start();		$Dispatcher =& new Dispatcher();		$Dispatcher->dispatch('/ajax_auth/add', array('return' => 1));		$result = ob_get_clean();		$this->assertPattern('/test element/', $result);		$this->assertNoPattern('/Added Record/', $result);		unset($_SERVER['HTTP_X_REQUESTED_WITH']);	}	function testLoginActionRedirect() {		Router::reload();		$admin = Configure::read('Routing.admin');		Configure::write('Routing.admin', 'admin');		$url = '/admin/auth_test/login';		$this->Controller->params = Router::parse($url);		$this->Controller->params['url']['url'] = ltrim($url, '/');		Router::setRequestInfo(array(			array(				'pass' => array(), 'action' => 'admin_login', 'plugin' => null, 'controller' => 'auth_test',				'admin' => true, 'url' => array('url' => $this->Controller->params['url']['url']),			),			array(				'base' => null, 'here' => $url,				'webroot' => '/', 'passedArgs' => array(),			)		));		$this->Controller->Auth->initialize($this->Controller);		$this->Controller->Auth->loginAction = array('admin' => true, 'controller' => 'auth_test', 'action' => 'login');		$this->Controller->Auth->userModel = 'AuthUser';		$this->Controller->Auth->startup($this->Controller);		$this->assertNull($this->Controller->testUrl);		Configure::write('Routing.admin', $admin);	}	function tearDown() {		unset($this->Controller, $this->AuthUser);	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -