新手问题!
我有一个完整的管理设置:登录,认证等,它的工作。所以,现在我需要一个新的控制器,用于另一种情况,然后我创建一个名为PressDownloadsController的控制器,并为这个新控制器中的每个动作创建正确的视图。
我还创建了以下路由:
Router::connect('/pressdownloads', array('controller' => 'pressdownloads', 'action' => 'downloads'));
在pressDownloads控制器中,在一些动作之间有一些重定向。
当我尝试打开url/pressdownloads/downloads或只是/pressdownloads它只是去管理控制器,我需要登录之前访问pressdownloads区域。
为什么?
UsersController (admin)中的Auth Settings:
Ok。我明白了。那么验证设置:
public $components = array(
'Session',
'Auth' => array(
'loginAction' => array(
'controller' => 'users',
'action' => 'login',
'prefix' => 'admin',
),
'loginRedirect' => '/admin/events',
'logoutRedirect' => '/admin',
'authError' => 'Acesso negado',
'flash' => array(
'element' => 'admin/messages/error',
'key' => 'auth',
'params' => array()
),
'authorize' => array('Controller'),
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
我建议检查Auth组件设置以及如何将管理区与非管理区分开。另外,你可以在你的路由中指定不使用admin前缀,像这样:
Router::connect('/pressdownloads', array('controller' => 'pressdownloads', 'action' => 'downloads', 'admin' => false));
我相信你会在"Admin"被启用后去那个链接。简单地说,你必须从由admin提供的页面点击链接。
尝试在当前路由中添加额外参数"admin" => false。
Router::connect('/pressdownloads',
array(
'controller' => 'pressdownloads',
'action' => 'downloads',
'admin' => false
)
);