我目前使用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