所以我设置了一个到特定动作、控制器和模块的默认路由。现在,当有人访问该站点时,它将默认在那里。
我已经设置了身份验证和授权,最初它会在用户未登录时默认为登录操作。
但是,情况不再如此,我真的不想使用:
$auth = Zend_Auth::getInstance();
if !($auth->hasIdentity())
{
$this->_redirect('/admin/user/login');
}
如果有更优雅的方式......
好吧,我在 preDispatch 方法中有这个优雅的解决方案:
if (!$acl->isAllowed($role, $controller, $action))
{
if ($role == 'guest')
{
$request->setControllerName('user');
$request->setActionName('login');
$request->setModuleName('admin');
}
else
{
$request->setControllername('error');
$request->setActionname('noauth');
}
}
看起来更优雅但不起作用