cakephp 2.7
会員登録しているユーザが投稿した記事のみ削除・編集ができるようしたいと
思っております。
現在の状況としては、下記になります。
- opauthでFBとTWでログイン・会員登録できるように実装完了。
- ユーザ1が投稿した記事は、編集・削除が実装完了。
- 2.を実装してから他のページに推移できない状況。
3.を解決したいと思っております。
コードとしては、下記のようになります。
公式ドキュメントの内容を参考に実装しました。
PostsController
php
1public function isAuthorized($userId) { 2 // 登録済ユーザーは投稿できる 3 if ($this->action === 'add') { 4 return true; 5 } 6 7 // 投稿のオーナーは編集や削除ができる 8 $userId = $this->Auth->user('id'); 9 if (in_array($this->action, array('edit', 'delete'))) { 10 $postId = (int) $this->request->params['pass'][0]; 11 if ($this->Post->isOwnedBy($postId, $userId)) { 12 return true; 13 } 14 } 15 echo 'アクセス不可'; 16 }
Post.php
php
1 public function isOwnedBy($postId, $userId) { 2 return $this->field('id', array('id' => $postId, 'Post.user_id' => $userId)) !== false; 3}
AppController
php
1public $components = array( 2 'Session', 3 'Auth' => array('authorize' => array('Controller')) 4 ); 5 6 public function beforefilter(){ 7 parent::beforeFilter(); 8 $this->Auth->allow('index','view','login','callback','opauthComplete'); 9 }
任意で追加したtest.ctpが表示できません。
アクセス不可と表示されます。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/13 12:24
2016/08/13 12:24
2016/08/13 14:07
2016/08/13 14:09
2016/08/13 15:21
2016/08/14 13:26
2016/08/14 14:23
2016/08/15 06:05