ログイン画面で、一般TOPページか管理者TOPページに
振り分けてリダイレクトするようにしたいのですが、
下記ソースのpublic function admin_move()で
[PrivateActionException]エラーが発生してしまいます。
これを回避して管理者用TOPページに遷移させる方法はありますでしょうか?
また、どのように修正すれば良いでしょうか?
/** * Login/index.ctp **/ <?php echo $this->BoostCakeForm->create(false, array('role' => 'form', 'method' => 'post', 'action' => 'loginAuth', 'class' => 'login')); ?> <p> <label for="login">ID :</label> <input type="text" name="id" id="login" placeholder="" /> </p> <p> <label for="password">パスワード :</label> <input type="password" name="pw" id="password" placeholder=""> </p> <p class="login-submit"> <button type="submit" class="login-button">Login</button> </p> <p class="forgot-password"><?php echo $this->Html->link('ID・パスワードをお忘れの方はこちら', array('controller' => 'Login', 'action' => 'forgot')); ?></p> <?php echo $this->BoostCakeForm->end(); ?>
lang
1/** 2 * LoginController.php 3 **/ 4public function loginAuth() 5{ 6 if ($this->request->is('post') && isset($this->request->data)) { 7 $id = $this->request->data['id']; 8 $pw = $this->request->data['pw']; 9 #echo 'id:'.$id.'/pw:'.$pw."<br />"; 10 // ココカラ開発用ソース 11 $authList = array('id' => $id, 'pw' => $pw, 'adminFlg' => '0'); 12 if ($id == 'admin') { 13 $authList['adminFlg'] = 1; 14 } 15 #var_dump($authList); 16 // ココマデ開発用ソース 17 $adminFlg = $authList['adminFlg']; 18 switch ($adminFlg) { 19 case '0' : 20 self::move(); 21 break; 22 case '1' : 23 self::admin_move(); 24 break; 25 default : 26 break; 27 } 28 } 29 $this->redirect(array('controller' => 'Login', 'action' => 'index')); 30} 31 32public function move() 33{ 34 $this->redirect(array('controller' => 'Top', 'action' => 'index')); 35} 36 37public function admin_move() 38{ 39 $this->redirect(array('controller' => 'Top', 'action' => 'admin_index')); 40}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。