###Cakephpのシンプルな認証と承認のチュートリアルをしています
PHPを書籍などで少し勉強し、Cakephpの勉強を始めたところです。
だいたいチュートリアルに沿って出来たかなと思い動作の確認をしていたところ、いくつかエラーが出てしまい修正していたのですが、ログアウトに関する部分が解決出来ません。
###環境
Mac OS X
XAMPP for Mac OS X 1.8.2-6
Apache/2.4.10 (Unix)
PHP/5.4.31
CakePHP 2.8.2
フォルダ構成
htdocs/sample/cakephp/appやlibなどのファイル
###発生している問題・エラーメッセージ
Missing Controller Error: SamplesController could not be found. Error: Create the class SamplesController below in file: app/Controller/SamplesController.php
どうやらURLが被っているようで、本来なら
localhost/sample/cakephp/index.php
というURLにしたいところなのですが、
localhost/sample/cakephp/sample/cakephp/
となっており、それでControllerが無いぞ、とエラーになっています。
###Viewのソースコード
<a><?php echo $this->Html->link('ログアウト', array('controller'=>'users', 'action'=>'logout', 'full_base' => 'true')); ?></a>
###UsersControllerのソースコード
class UsersController extends AppController { ...... public function logout() { $this->Flash->success('ログアウトしました'); $this->redirect($this->Auth->logout()); } ...... }
###AppControllerのソースコード
App::uses('Controller', 'Controller'); class AppController extends Controller { public $components = array( 'Flash', 'Auth' => array( 'loginRedirect' => array( 'controller' => 'posts', 'action' => 'index' ), 'logoutRedirect' => array( 'controller' => 'posts', 'action' => 'index' ), 'authenticate' => array( 'Form' => array( 'passwordHasher' => 'Blowfish' ) ), 'authorize' => array('controller') ) ); public function beforeFilter() { $this->Auth->allow('index', 'view'); $this->set('auth',$this->Auth); } }
だいたいはチュートリアル通りになっていると思うのですが、非常に細かいところは少しだけ変えています。出来る限りのことは試してみたのですが、いまいちlogoutRedirectやFlash、AuthComponentなどがどう動いているのか理解出来ていないため、何をどうすれば良いのか分からず、進めることが出来なくなってしまいました。
どう質問して良いものかも分からず、非常に初歩的な質問なのかもしれませんが、ネットで探してもログアウトの処理で困っている人は居ないのか、欲しい情報が乏しく大変困っておりますので、教えて頂けないでしょうか。よろしくお願い致します。
独学で始めたばかりで知識が非常に無いので(汗)、今回の質問で分かりにくい点などあれば、それも含めてご指摘して頂けると幸いです。
回答1件
あなたの回答
tips
プレビュー