Hi,
In my table (bd) user I have a following field :
[sql]/* … */
status
enum(‘admin’,‘user’,’’) DEFAULT ‘user’,[/sql]
And I put some condition on my product controller :
//...
// user --> logOUT Guest
if(Yii::$app->user->isGuest){
//...
'roles' => ['?'], // ? means Guests
//...
else if(!Yii::$app->user->isGuest && Yii::$app->user->identity->status == "admin")
//...
'roles' => ['@'], // '@' means All logged in users / or your access role e.g. 'admin', 'user'
//...
// user --> logIN and is NOT a 'admin' (status) so his status 'user' in db
else
//...
'allow' => true, // Has access
//'roles' => ['?'], // ? means Guests
'roles' => ['user'], // user means user
//etc
I want that, in last condition (the user is logged with ‘user’ status)
This user can view the product page but he do not not delete some item
When I use [’[font=“Arial Black”]?[/font]’] he can delete it
When I use [’[font=“Arial Black”]user[/font]’] he don not view the product page : You are not allowed to perform this action.
I can not use [’@’] for this situation
So what must I put it in [’ ']?
Here is my code :
// user --> logOUT Guest
if(Yii::$app->user->isGuest){
return
[
'access' =>
[
'class' => AccessControl::className(),
'rules' =>
[
[
'allow' => false, // Has NOT access
'roles' => ['?'], // ? means Guests
],
],
],
'verbs' =>
[
'class' => VerbFilter::className(),
'actions' =>
[
'delete' => ['POST'],
],
],
];
}
// user --> logIN and is a 'admin' (status)
else if(!Yii::$app->user->isGuest && Yii::$app->user->identity->status == "admin"){
return
[
'access' =>
[
'class' => AccessControl::className(),
'only' =>
[
'index',
'view',
'create',
'update'
], //only be applied to
'rules' =>
[
[
'allow' => true, // Has access
'roles' => ['@'], // '@' means All logged in users / or your access role e.g. 'admin', 'user'
],
],
],
'verbs' =>
[
'class' => VerbFilter::className(),
'actions' =>
[
'delete' => ['POST'],
],
],
];
}
// user --> logIN and is NOT a 'admin' (status) so his status 'user' in db Il supprime tout
else
{
return
[
'access' =>
[
'class' => AccessControl::className(),
'only' =>
[
'index',
'view'
],//only be applied to
'rules' =>
[
[
'allow' => true, // Has access
//'roles' => ['?'], // ? means Guests
'roles' => ['user'], // user means user
],
],
],
];
}
}
Thanks