PHPEye开源社区 » Zend Framework 使用讨论 » 问一个Zend_Auth的问题!高手帮个忙!
《Programming PHP》第二版上市
2008-7-2 10:38 djw5215066
问一个Zend_Auth的问题!高手帮个忙!

[php]if ($this->_request->isPost()){
                        Zend_Loader::loadClass('Zend_Filter_StripTags');
                        $f = new Zend_Filter_Striptags();
                        //获取POST变量值
                        $username = $f->filter($this->_request->getPost('BAS_USR'));
                        $userpwd = md5($f->filter($this->_request->getPost('BAS_PWD')));
                        //打开数据表
                        $dbcon = Zend_Registry::get('db');
                        $authAdapter = new Zend_Auth_Adapter_DbTable($dbcon);
                        //选择表名
                        $authAdapter->setTableName('bas_user_count');
                        //选择字段(该字段必须是唯一)
                        $authAdapter->setIdentityColumn('BAS_COUNT');
                        //选择字段
                        $authAdapter->setCredentialColumn('BAS_PWD');
                        //设置输入的证书的值
                        $authAdapter->setIdentity($username);
                        $authAdapter->setCredential($userpwd);
                        //
                        $auth = Zend_Auth::getInstance();
                        //执行认证查询,并保存结果
                        $result = $auth->authenticate($authAdapter);
                        //如果认证查询出来为真,则把登录用户记录下来!
                        if ($result->isValid()) {
                                $date = $authAdapter->getResultRowObject(array('BAS_ID','BAS_COUNT'),null);
                                $auth->getStorage()->write($date);
                                //print_r($date);
                                //GoToPage($Url);
                        }
                        else {
                                phpBox('用户名或密码错误!');
                                GoToPage($Url."/login");
                        }[/php]


看这里:

[php]if ($result->isValid()) {
                                $date = $authAdapter->getResultRowObject(array('BAS_ID','BAS_COUNT'),null);
                                $auth->getStorage()->write($date);
                                //print_r($date);
                                //GoToPage($Url);
                        }[/php]

这里认证成功后要怎样把登录的用户名和ID用echo输出来???

第二个:

[php]//选择字段(该字段必须是唯一)
                        $authAdapter->setIdentityColumn('BAS_COUNT');
                        //选择字段
                        $authAdapter->setCredentialColumn('BAS_PWD');[/php]

登录用户的时候我还要判断另外一个字段是否为F,在这里要怎样添加?

第三个:

这里登录成功后,我在别的页面里面的Action怎样调用存储的ID和用户名?




请高手帮个忙回答下!在下感激不尽!

[[i] 本帖最后由 djw5215066 于 2008-7-2 11:02 编辑 [/i]]

2008-7-2 11:03 djw5215066
怎么没人回答呀?好急呀!

2008-7-2 13:32 altair
参考一下这个贴子:[url]http://www.phpeye.com/bbs/thread-575-1-1.html[/url]

2008-7-2 13:41 djw5215066
[quote]原帖由 [i]altair[/i] 于 2008-7-2 13:32 发表 [url=http://www.phpeye.com/bbs/redirect.php?goto=findpost&pid=2173&ptid=610][img]http://www.phpeye.com/bbs/images/common/back.gif[/img][/url]
参考一下这个贴子:[url]http://www.phpeye.com/bbs/thread-575-1-1.html[/url] [/quote]



我看了下,跟我的好像差不多!

2008-7-2 14:23 djw5215066
从别的页面可以调用用户ID和用户名了,但是其它的还没搞定!

2008-7-2 15:33 altair
将这句
$authAdapter = new Zend_Auth_Adapter_DbTable($dbcon);

按照下面的格式修改:

$adapter = new Zend_Auth_Adapter_DbTable($dbcon, 'users', 'username', 'password', 'MD5(?) AND active = "TRUE"');

上面各个参数的含义参考一下手册。

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.