private function status(Zend_Controller_Request_Abstract $request)
{
if ($this->auth->hasIdentity()){
$group = $this->auth->getIdentity()->group;
}else {
$group = 'Guest';
}
if (!$this->acl->isAllowed($group, $request->getModuleName(), $request->getControllerName())){
         $sessionAuth = new Zend_Session_Namespace('auth');
         $sessionAuth->lastUrl = $_SERVER['REQUEST_URI'];
         if ($this->auth->hasIdentity()){
         $request->setModuleName($this->noPriv['module']);
         $request->setControllerName($this->noPriv['controller']);
         $request->setActionName($this->noPriv['action']);
         }else {
         $request->setModuleName($this->noAuth['module']);
         $request->setControllerName($this->noAuth['controller']);
         $request->setActionName($this->noAuth['action']);
         }
        }
}
public function isloginAction()
{
$user = $this->getRequest()->getParam('user');
if (!Zend_Validate::is($user, 'Alnum',array(true))){
$this->view->msg = 'userError';
$this->loginAction();
return ;
}
$pass = $this->getRequest()->getParam('pass');
if (!Zend_Validate::is($pass, 'Alnum', array(true))){
$this->view->msg = 'passError';
$this->loginAction();
return ;
}
$auth = Tw_Registry::get('auth');
$authAdapter = new Zend_Auth_Adapter_DbTable(Tw_Registry::get('db'));
$authAdapter->setTableName('user');
$authAdapter->setIdentityColumn('user');
$authAdapter->setCredentialColumn('pass');
$authAdapter->setIdentity($user);
$authAdapter->setCredential(md5($pass));
$authRestule = $authAdapter->authenticate($auth);
if ($authRestule->isValid()){
$auth->getStorage()->write($authAdapter->getResultRowObject(array('user','pass','group')));
$sessionAuth = new Zend_Session_Namespace('auth');
$this->view->Url = $sessionAuth->lastUrl;
$this->view->msg = 'loginOK';
$html = $this->view->render('Auth/GoUrl.tpl.html');
}else {
$this->view->msg = 'userOrPassError';
$this->loginAction();
return ;
}
echo $html;
}

解决方案 »

  1.   

    private function status(Zend_Controller_Request_Abstract $request)
    {
    if ($this->auth->hasIdentity()){
    $group = $this->auth->getIdentity()->group;
    }else {
    $group = 'Guest';
    }
    if (!$this->acl->isAllowed($group, $request->getModuleName(), $request->getControllerName())){
             $sessionAuth = new Zend_Session_Namespace('auth');
             $sessionAuth->lastUrl = $_SERVER['REQUEST_URI'];
             if ($this->auth->hasIdentity()){
             $request->setModuleName($this->noPriv['module']);
             $request->setControllerName($this->noPriv['controller']);
             $request->setActionName($this->noPriv['action']);
             }else {
             $request->setModuleName($this->noAuth['module']);
             $request->setControllerName($this->noAuth['controller']);
             $request->setActionName($this->noAuth['action']);
             }
            }
    }
    public function isloginAction()
    {
    $user = $this->getRequest()->getParam('user');
    if (!Zend_Validate::is($user, 'Alnum',array(true))){
    $this->view->msg = 'userError';
    $this->loginAction();
    return ;
    }
    $pass = $this->getRequest()->getParam('pass');
    if (!Zend_Validate::is($pass, 'Alnum', array(true))){
    $this->view->msg = 'passError';
    $this->loginAction();
    return ;
    }
    $auth = Tw_Registry::get('auth');
    $authAdapter = new Zend_Auth_Adapter_DbTable(Tw_Registry::get('db'));
    $authAdapter->setTableName('user');
    $authAdapter->setIdentityColumn('user');
    $authAdapter->setCredentialColumn('pass');
    $authAdapter->setIdentity($user);
    $authAdapter->setCredential(md5($pass));
    $authRestule = $authAdapter->authenticate($auth);
    if ($authRestule->isValid()){
    $auth->getStorage()->write($authAdapter->getResultRowObject(array('user','pass','group')));
    $sessionAuth = new Zend_Session_Namespace('auth');
    $this->view->Url = $sessionAuth->lastUrl;
    $this->view->msg = 'loginOK';
    $html = $this->view->render('Auth/GoUrl.tpl.html');
    }else {
    $this->view->msg = 'userOrPassError';
    $this->loginAction();
    return ;
    }
    echo $html;
    }