Реализовывал разделение доступа в приложении. Вставил конфигурацию в секцию "components" настроек:
'as access' => [
'class' => 'yii\filters\AccessControl',
'except' => ['auth/login', 'site/error'],
'rules' => [
[
'allow' => true,
'roles' => [\app\rbac\Roles::ROLE_ADMIN],
],
],
],
Но получаю следующую ошибку:
Fatal error: Uncaught Error: Class 'app\rbac\Roles' not found in D:\OSPanel\domains\work\work24.loc\config\web.php:89 Stack trace: #0 D:\OSPanel\domains\work\work24.loc\web\index.php(10): require() #1 {main} thrown in D:\OSPanel\domains\work\work24.loc\config\web.php on line 89
Причём, данную конфигурацию я использую довольно давно в Basic/Advanced, но на этот раз что-то пошло не так. Проверил пути, правильность ввода, несколько настроек - не помогло.
По необходимости - класс Rolesnamespace app\rbac;
class Roles
{
const ROLE_ADMIN = 'admin';
public static function hasRole($roleName, $userId)
{
$userRoles = \Yii::$app->authManager->getRolesByUser($userId);
foreach ($userRoles as $userRole) {
if ($userRole->name == $roleName) {
return true;
}
}
return false;
}
}