Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查用户是否可以访问zend framework中的登录后页面_Php_Zend Framework - Fatal编程技术网

Php 检查用户是否可以访问zend framework中的登录后页面

Php 检查用户是否可以访问zend framework中的登录后页面,php,zend-framework,Php,Zend Framework,在Zend Framework中,有什么更好的方法限制用户访问登录后页面 如果用户未登录。如果没有Zend,我将编写代码检查 用户ID是否在会话中设置,并将该代码放在公共文件中(用于所有post 登录页面) 在Zend框架中,我可以使用Zend_auth的hasIdentity方法检查,但我没有 要检查所有动作的内部。我想的另一种方法是创建一个 插件并将其挂接到routeshutdown事件,然后在获取控制器和操作后 来自请求对象的名称我可以决定是否重定向用户 请推荐一些在zend framew

在Zend Framework中,有什么更好的方法限制用户访问登录后页面
如果用户未登录。如果没有Zend,我将编写代码检查 用户ID是否在会话中设置,并将该代码放在公共文件中(用于所有post
登录页面)

在Zend框架中,我可以使用Zend_auth的hasIdentity方法检查,但我没有
要检查所有动作的内部。我想的另一种方法是创建一个
插件并将其挂接到routeshutdown事件,然后在获取控制器和操作后
来自请求对象的名称我可以决定是否重定向用户


请推荐一些在zend framework中实现它的好方法

您通常会编写一个控制器插件并将其添加到前端控制器。通过这种方式,您可以在需要的地方拦截分派和路由进程,并向适当的页面发出重定向

class Your_Controller_Plugin_Authcheck extends Zend_Controller_Plugin_Abstract
{
}
在引导类中:

protected function _initFrontControllerPlugins()
{
    $this->bootstrap(array('AuthcheckPlugin', 'FrontController'));

    $front = $this->getResource('FrontController');
    $front->registerPlugin($this->getResource('AuthcheckPlugin'));
}

protected function _initAuthcheckPlugin()
{
    $plugin = new Your_Controller_Plugin_Authcheck();

    return $plugin;
}
顺便说一句:这是Zend Framework 1-在2中可能会起到相同的作用,但我相信如果您已经使用它,您可能会在那里做一些更改