我目前使用cake的路由配置为了设置管理视图,不同于非管理员用户。我阅读了文档的路由章节(cake的),并偶然发现了前缀路由。我认为这是我需要用来完成我所需要的东西。所以我建立的config/core.php中的建议开始的,这注释掉CakePHP - 使用'admin_'路由前缀
Configure::write('Routing.prefixes', array('admin'));
然后,我在routes.php文件中添加的路由:
Router::connect('/admin', array('controller' => 'donors', 'action' => 'index', 'admin' => true));
从我的理解,通过以上设置,我可以为管理员定义特定的操作,名称如:admin_index或admin_view等。
所以我AppController中有这样设置的组件:
public $components = array(
'DebugKit.Toolbar',
'Session',
'Auth' => array(
'loginRedirect' => array(
'controller' => 'donors',
'action' => 'index'
),
'authError' => 'Access Denied',
'logoutRedirect' => array(
'controller' => 'users',
'action' => 'login'
),
'authorize' => array('Controller')
)
);
所以当他一个非管理员用户登录应该被重定向到“捐助者/指数”,当在我的管理日志要将他重定向到'donors/admin_index'..我该怎么做?
我尝试这样做:
public function beforeFilter(){
if(isset($this->params['admin'])){
$this->layout = 'stafflayout';
$this->Auth->loginRedirect = array(
'controller'=>'donors',
'action'=>'index',
'prefix'=>'admin',
'admin'=>true
);
}
,并在测试出来,乍一看我还以为它的工作过程。但URL不会像'donor/admin_index ..'那样改变,并且仍然被重定向到捐助者/索引或等价物,简单地给/ donors ...为什么这不起作用?
(seconndary问题)亦测试了这一点的过程中,我改变在控制器和验证部件LoginRedirect的行动
“控制器” =>“帖”
和
'动作'=> '索引'
其他然后'捐助者','索引',当我登录时,我仍然被重定向到捐助者/索引..是否应该重定向我'posts/index'
任何人都可以帮助我在这些两个问题?主要问题虽然更重要!
对不起,先生。你会(或者其他有经验的用户有足够的帮助)与其他初学者分享那些优秀的文档,像我一样吗?我提前谢谢你。 –
你去那里.. http://book.cakephp.org/3.0/en/development/routing.html#prefix-routing 要了解路由的蛋糕怎么前缀的作品,经过您的回复提供 – LogixMaster