rbac ограничение авторизации на бекенде полностью

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
frixer1
Сообщения: 10
Зарегистрирован: 2019.11.19, 07:08

rbac ограничение авторизации на бекенде полностью

Сообщение frixer1 »

Здравствуйте, настроил rbac есть user и есть admin
необходимо авторизовываться на фронт или бекенд НО для админа перебрасывает на бекенд сразу даже если авторизацию делаю на фронте, а если пробую авторизоваться на бекенд под админом чтобы вообще не пускал подскажите как реализовать. все что накопал
перепробовал то там не так то там не то

Код: Выделить всё

//    'as access' => [
//        'class' => 'yii\filters\AccessControl',
//        'except' => ['site/login', 'site/error'],
//        'rules' => [
//            [
//                'allow' => true,
//                'roles' => ['admin']
//            ],
//        ],
//    ],
ограничил но вход все равно происходит хоть то под user первое что непонятно это при авторизации из группы пользователей не админ чтобы перенаправляло на фронт или выдавало ошибку не показав вообще бекенд


advanced устновленна
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: rbac ограничение авторизации на бекенде полностью

Сообщение yiiliveext »

denyCallback используйте
frixer1
Сообщения: 10
Зарегистрирован: 2019.11.19, 07:08

Re: rbac ограничение авторизации на бекенде полностью

Сообщение frixer1 »

yiiliveext писал(а): 2019.12.17, 20:22 denyCallback используйте
это получаетья с предавторизацией если авторизовался и потом выкидываем? или как то иначе?
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: rbac ограничение авторизации на бекенде полностью

Сообщение maleks »

frixer1 писал(а): 2019.12.17, 19:13 НО для админа перебрасывает на бекенд сразу даже если авторизацию делаю на фронте,
В адвансед шаблоне фронт и бэк приложения никак не зависят и уж точно в шаблоне нет никакого перекидываюшего кода.
frixer1 писал(а): 2019.12.17, 19:13 ограничил но вход все равно происходит хоть то под user первое что непонятно это при авторизации из группы пользователей не админ чтобы перенаправляло на фронт или выдавало ошибку не показав вообще бекенд
Тут вам прежде всего надо показать как вы ваши роли организовали.
По умолчанию для бекенда для гостя будет направлять на страницу входа, а зареганому просто будет писать что нет прав, всякие перекидывания надо самому делать. Но опять же про админку эту, даже не предполагается что пользователи сайта знают что то про существование такой админки
Yii2 universal module sceleton - for basic and advanced templates
frixer1
Сообщения: 10
Зарегистрирован: 2019.11.19, 07:08

Re: rbac ограничение авторизации на бекенде полностью

Сообщение frixer1 »

У меня получаеться сейчас так, что если вошел админ то все гуд, а если пользователь user вошел на страницу админки /admin это контроллер siteController то ему высвечиваеться и доступ ко всем контроллерам запрещен но он видит админку все равно, видит именно вид менюшку и все сделать не может не чего и данные посмотреть, но хотелось бы сделать так чтобы если не с админ группы ты то хотябы флешка выскакивала и требовала авторизацию вновь

это в контрллере

Код: Выделить всё

 public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'actions' => ['login', 'error', 'logout'],
                        'allow' => true,
                    ],
                    [
                        'actions' => [],
                        'allow' => true,
                        'roles' => ['canAdmin'],
                    ],
                ],
            ],
            'verbs' => [
                'class' => VerbFilter::className(),
                'actions' => [
                    'logout' => ['post'],
                ],
            ],
        ];
    }
это в бекенде в настройках

Код: Выделить всё

  'as access' => [
        'class' => 'yii\filters\AccessControl',
        'except' => ['site/login', 'site/error', 'site/logout'],
        'rules' => [
            [
                'allow' => true,
                'roles' => ['canAdmin']
            ],

        ],
    ],
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: rbac ограничение авторизации на бекенде полностью

Сообщение maleks »

Это он просто лайоут админский видит.
Вы можете в denyCallback разлогинить его.
Да и это админ меню можно от греха подальше скрыть условием if ($user->can('canAdmin'))
Yii2 universal module sceleton - for basic and advanced templates
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: rbac ограничение авторизации на бекенде полностью

Сообщение yiiliveext »

Я же вам во втором сообщении написал

Код: Выделить всё

'as access' => [
        'class' => 'yii\filters\AccessControl',
        'except' => ['site/login', 'site/error', 'site/logout'],
        'rules' => [
            [
                'allow' => true,
                'roles' => ['canAdmin']
            ],

        ],
         'denyCallback' => function ($rule, $action) {
            Yii::$app->controller->redirect('http://frontend.com');
        }
    ],
Ответить