私のプロジェクトにログインしたユーザーは自分のビューにアクセスしましたが、ユーザーは変更URLを持つ別のユーザーにアクセスできないようにしたいと考えています。このUserControllerにある状態 :yii2のユーザーの表示をフィルタリングする方法は?
[
'allow' => true,
'actions' => ['update', 'view'],
'matchCallback' => function() {
return ($this->checkAccess(User::ROLE_USER));
},
],
と
public function actionView($id)
{
return $this->render('view', [
'model' => $this->findModel($id),
]);
}
user1がに行く場合:= 1ウェブ/ユーザー/ビュー@ IDを、彼はウェブ/ユーザー/ ID = 2 @ビューに行くことができます。
この問題を防ぐにはどうすればよいですか?
あなたはこのコード、または任意のコードを正確にしたいですが大丈夫ですか?このプロジェクトの –
では、各ユーザは自分のメッセージを見ることができます。このためには、ユーザーはmessages/view&id = 3(user1の場合はmsg3)、user2の場合はmsg5に移動する必要があります。 user1 goto messages/view&id = 5の場合、別のメッセージビューが表示されます。 –
オブジェクトへのアクセスを作者に制限したいようです。この[質問](http://stackoverflow.com/questions/39218303/restricting-controller-action-to-creator-of-post-in-yii2)をチェックして、私は私の答えでそれを深くカバーしました。 – arogachev