私はYii2に新しいですし、私はuser rights
の3種類があります。GridViewのボタンを更新して削除するにはどうすればいいですか?
Admin
、moderator
とuser
を。私はGridView
を持っていて、Update
とDelete
のボタンをユーザに表示したくないのですが、GridView
だけです。私はどうしたらいいですか?ここで
は私のactionCreate
、入力フォームがあるとされています
public function actionCreate()
{
$model = new Project();
$model->scenario = Project::SCENARIO_CREATE;
if ($model->load(Yii::$app->request->post())) {
if ($model->save()) {
Yii::$app->getSession()->setFlash('success', Yii::t('app', 'Skelbimas sėkmingai pridėtas!'));
return $this->redirect(['index']);
}
}
return $this->render('create', [
'model' => $model,
]);
}
私はこれに応じて情報を検索しようとしましたが、便利なものを見つけることができませんでした。助けや情報をありがとう。 、それは防ぐことはできません
[
...
'template'=> (user has only user rights ? '{view}' ? '{view} {update} {delete}')
...
]
してください、このソリューションは唯一user
権を持つユーザーのためのボタンが非表示になりますにもかかわらず、心の中で裸:
私は2と同じ 'GridViews'を生成する場合、ユーザーは、アクションのURLにアクセスすることができますか? 1つは、私はこれらのボタンを手動で削除し、 'GridView'はユーザーに表示され、他のボタンはすべて管理者に表示されますか? – MKD
コントローラ内のアクセス制御フィルタを設定して、ターゲットコントローラのアクションへのアクセスを許可/禁止する場合は、次のようにします。http://www.yiiframework.com/doc-2.0/guide-security-authorization.html#access-control-フィルタ – dataskills
ボタンは、対応するパラメータとともに、それらのアクションに直接アクセスするだけです。アクションは、ブラウザに直接導入するなど、直接アクセスすることもできます – gmc