私はCakePHPACLチュートリアル http://book.cakephp.org/2.0/en/tutorials-and-examples/simple-acl-driven-application/simple-acl-driven-application.htmlに従っています
基本的にユーザーがアップロードされたすべての画像を一覧表示できるImagesControllerというコントローラーがあります。画像の「アップロード」や「削除」などのアクションもあります。
ログインおよびログアウト機能を備えたUserControllerもあります。
私のAppController.phpは次のようになります
1 <?php
2
3 class AppController extends Controller {
4 public $components = array(
5 'Acl',
6 'Auth' => array(
7 'authorize' => array(
8 'Actions' => array('actionPath' => 'controllers')
9 )
10 ),
11 'Session'
12 );
13 public $helpers = array('Html', 'Form', 'Session');
14
15 public function beforeFilter() {
16 // $this->Auth->actionPath = 'controllers/';
17 //Configure AuthComponent
18 $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
19 $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
20 $this->Auth->loginRedirect = array('controller' => 'images', 'action' => 'index');
21 $this->Auth->allow('display');
22 // $this->Auth->allow('*');
23 }
24 }
25
26
27 ?>
~
私のUsersController.phpは次のようになります
<?php
2 App::uses('AppController', 'Controller');
3 /**
4 * Users Controller
5 *
6 * @property User $User
7 */
8 class UsersController extends AppController {
30 public function beforeFilter() {
31 parent::beforeFilter();
32 //$this->Auth->allow("initDB"); // remove this later
33 $this->Auth->allow('login', 'logout');
34 }
35 public function login() {
36 if ($this->Session->read('Auth.User')) {
37 $this->Session->setFlash('You are logged in!');
38 $this->redirect('/', null, false);
39 }
40 }
41 public function logout() {
42 //Leave empty for now.
43 $this->Session->setFlash('Good-Bye');
44 $this->redirect($this->Auth->logout());
45 }
}
したがって、アップロードや削除などの画像/インデックスのアクションをクリックすると、ユーザー/ログインページに移動しますが、ログインしようとしても、リダイレクトが20行目の画像/インデックスを指していても何も起こりません。 。何が得られますか?