我正在使用角色验证,我目前只使用phprbca,尚未进入databaserbca。
我在我的控制器上编码了一些自定义验证,如果用户以管理员身份登录,我想让用户忽略某些规则。我怎么能这样做?
void *
我的用户型号:
<?php
use app\models\User;
#Next line, how would i do it? or if (username=Richard)
if (userid=100){
if($model->driver_identitynum!=null){
$count = Drivers::find()->select('drivers.*')->joinWith('archives')->where('archive.DateCreated > DATE(CURDATE())')->andWhere(['archive.driver_identitynum' => $model->driver_identitynum])->count();
if($count>0)
$valid=false;
\Yii::$app->getSession()->setFlash('error', 'Can\'t proceed, already added today.');
$model->addError('driver_identitynum',"El conductor ha salido {$count} veces.");
}
}
?>
答案 0 :(得分:0)
如果您的用户拥有rbac权限admin
,则可以使用
Yii::$app->User->can('admin')
if ( Yii::$app->User->can('admin') ) {
// your code fro admin
}