加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用Zend_Auth设置和扩展Session Lifetime

发布时间:2020-12-13 18:08:56 所属栏目:PHP教程 来源:网络整理
导读:我使用Zend_Auth作为我的一个项目,但到目前为止还没有弄清楚如何设置会话的生命周期,或者如何扩展它(假设它应该运行5分钟,并应该重置为用户做出动作时),这是我的初始化代码: $authAdapter = new Zend_Auth_Adapter_DbTable($this-_model-pdo); $authAdapter
我使用Zend_Auth作为我的一个项目,但到目前为止还没有弄清楚如何设置会话的生命周期,或者如何扩展它(假设它应该运行5分钟,并应该重置为用户做出动作时),这是我的初始化代码:
$authAdapter = new Zend_Auth_Adapter_DbTable($this->_model->pdo);
        $authAdapter->setTableName('normal_folks')
           ->setIdentityColumn('username')
           ->setCredentialColumn('password');

        $post = $this->_request->getPost();

        $authAdapter->setIdentity($post['username'])
            ->setCredential($post['password']);
        $auth = Zend_Auth::getInstance();
        $result = $auth->authenticate($authAdapter);

        if($result->isValid())
        {
            $userInfo = $authAdapter->getResultRowObject(null,'password');
            $authStorage = $auth->getStorage();
            $authStorage->write($userInfo);

            if(strlen($post['refferer']) > 1){
                header("Location: ".$post['refferer']);
            }elseif(strlen($this->_request->getParam('ref_action')) > 1){
                Zend_Controller_Action::_forward($this->_request->getParam('ref_action'),"admin",null,null);
            }else{
                Zend_Controller_Action::_forward("index",null);
            }
        }

这个我如何检查用户是否已登录:

if(Zend_Auth::getInstance()->hasIdentity()){
                    echo "Woho!";
                }else{
                    die("invalid-identity");
                }

它可能就在我面前,但我无法理解,帮助?请?好吗? :d

身份验证状态存储在已注册的Auth Storage中.默认情况下,这是Zend_Session.你可以 set an expiration time to the Zend_Auth namespace,例如
$namespace = new Zend_Session_Namespace('Zend_Auth');
$namespace->setExpirationSeconds(300);

你也可以globally configure Zend_Session通过

Zend_Session::setOptions(array(
    'cookie_lifetime' => 300,'gc_maxlifetime'  => 300));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读