我正在努力寻找一些我认为应该非常容易的事情。我在使用zend_auth构建的页面上有一个身份验证系统。 这一切都完美无瑕,但现在我想让用户有机会通过Twitter登录。
我已经能够构建整个oauth身份验证过程,并且在成功进行twitter身份验证后,我可以从twitter获取twitter用户名。 之后,我在我的用户表中进行查找,并找到具有该推特名称的用户(我的数据库中有一列)。
现在我有登录用户的user_id,但是如何让zend_auth知道该用户已登录?我有一个存储在数据库中的基于角色的权限系统,因此zend_auth_storage需要知道登录用户的ID。
答案 0 :(得分:2)
您必须自己在存储中写入用户行。
Zend_Auth::getInstance()->getStorage()->write($userRow);
$ userRow在你的情况下可能会有所不同,基本上是一旦用户登录就会存储在会话中的数据通常是用户表中的一行(出于安全原因减去密码列)