このチュートリアルに従って ACL を完全に実装した後、Cake Php プロジェクトが間違った URL にリダイレクトされます -> http://book.cakephp.org/2.0/en/tutorials-and-examples/simple-acl-managed- application/simple-acl-managed-application.html .
問題 -
正しいリダイレクト -> localhost/appname/
ACL を実装した後にリダイレクト -> localhost/appname/appname/
これは、ログイン後に発生するリダイレクトです。公開ページ (ログイン) は正常に動作します。
以下はAppcontrollerコードです-
public $components = array( 'Acl',
'Auth' => array(
'authorize' => array(
'Actions' => array('actionPath' => 'controllers')
)
),
'Session'
);
public $helpers = array('Html', 'Form', 'Session');
// only allow the login controllers only
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('login');
}
Acos テーブルのスクリーンショット
Aros テーブルのスクリーンショット
Aros_Acos テーブルのスクリーンショット
グループ テーブル
Routes.php
Router::connect('/dashboard', array('controller' => 'dashboards', 'action' => 'index'));
Router::connect('/login', array('controller' => 'users', 'action' => 'login'));
Router::connect('/logout', array('controller' => 'users', 'action' => 'logout'));
Router::connect('/', array('controller' => 'dashboards', 'action' => 'index'));
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
CakePlugin::routes();
require CAKE . 'Config' . DS . 'routes.php';
以下の代わりに「Auth」のみを使用すると、正しいURLが開きました。
'Auth' => array(
'authorize' => array(
'Actions' => array('actionPath' => 'controllers')
)
),
しかし、ACL は機能していません。