Bu yapının kullanılması için gerekli veritabanı sql dosyasını vendor/yiisoft/yii2/rbac/migrations klasöründe farklı veritabanları için bulabilirsiniz. Buradan tablolar oluşturulabilir.
daha sonra cakend/config/main.php içerisine aşağıdaki kod bloğu eklenerek veritabanındaki tablolara erişim sağlanır.
‘authManager’=>[
‘class’=>’yii\rbac\DbManager’,
‘defaultRoles’=>[‘guest’],
]
veritabanında ise resimlerdeki gibi gerekli yetkilendirilmeler yapıldığında ccontroller dosyasında yetki verilecek işlem actionın başına
if (Yii::$app->user->can(‘create-randevu-birim’)) {
kontrolü getirilir.
create işlemini create-randevu-birim e yetkisi olan kişiler görebilecek.
Örnek kullanım aşağıdaki gibidir;
use yii\web\ForbiddenHttpException;
public function actionCreate()
{
if (Yii::$app->user->can(‘create-randevu-birim’)) {
$model = new RandevuBirimler();
if ($model->load(Yii::$app->request->post())) {
$dosyaadi=$model->birim_adi;
$model->file =UploadedFile::getInstance($model,’file’);//veritabanındaki alana yükleme
$model->resmi_yazi=’birimresmiyazilar/’.$dosyaadi.’.’.$model->file->extension;
$model->save();$model->file->saveAs(‘birimresmiyazilar/’.$dosyaadi.’.’.$model->file->extension);
return $this->redirect([‘view’, ‘id’ => $model->id]);
} else {
return $this->render(‘create’, [
‘model’ => $model,
]);}
}else
{
throw new ForbiddenHttpException;}
}
İlk Yorumu Siz Yapın