我正在将遗留的PHP应用程序移植到Zend Framework。它应该是一个facebook应用程序,通过Facebook完成身份验证。在成员通过身份验证后,我有一个与处理成员对象相关的问题。
目前我正在初始化Bootstrap.php中的成员类对象,并将其分配给Zend_Session中的对象。然后,我在任何需要成员对象的地方访问会话进行任何处理(例如在控制器中调用成员模型上的方法并将返回的数据分配给视图对象)
这是推荐的做事方式吗?如果没有,如果有人能指出我正确的方向,我将不胜感激。
萨特雅姆
答案 0 :(得分:1)
通常,可以使用Zend_Auth
和身份验证适配器将您的成员对象存储在Zend_Auth
单例的会话存储中,您可以通过(在控制器中)检查/访问:< / p>
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()){
$member = $auth->getIdentity();
$this->view->name = $member->getName();
}
身份验证过程本身涉及创建身份验证适配器$adapter
,使用用户提供的凭据填充它,并检查结果:
Zend_Auth::authenticate($adapter);
中的更多详细信息
另外,请注意,如果您有一些需要登录才能访问的模块或控制器,您可以将此检查代码放在带有routeShutdown($request)
挂钩的front-controller plugin中。如果请求是受保护的控制器且用户未登录,则重定向到登录页面。只需在boootstrap中注册插件。