yii2 advanced Авторизация

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
saygo
Сообщения: 48
Зарегистрирован: 2013.01.07, 09:55

yii2 advanced Авторизация

Сообщение saygo »

Было приложение на yii1, есть необходимость расширить, ну и поскольку есть yii2 то принято решение переписать.
Установил шабон advanced (нужно разделение admin/user)
RBAC, в виду не особой нужности и сложности, использовать не хочу.
Планируется 2 таблицы admins, users
Админам можно только в бекенд, юзерам - только фронтенд и только редактирование своих данных (и то не всех полей).

Не большой специалист по yii, и первый непонятный мне момент - почему доступ к бекенд контроллерам открыт без авторизации и как это исправить?
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: yii2 advanced Авторизация

Сообщение maleks »

saygo писал(а): Не большой специалист по yii, и первый непонятный мне момент - почему доступ к бекенд контроллерам открыт без авторизации и как это исправить?
открыт в экшену залогинивания, надо же как то залогиниться в админку.
И что это за дичь с двумя разными таблицами для админов и неадминов, сам придумал?
Yii2 universal module sceleton - for basic and advanced templates
saygo
Сообщения: 48
Зарегистрирован: 2013.01.07, 09:55

Re: yii2 advanced Авторизация

Сообщение saygo »

maleks писал(а):
saygo писал(а): Не большой специалист по yii, и первый непонятный мне момент - почему доступ к бекенд контроллерам открыт без авторизации и как это исправить?
открыт в экшену залогинивания, надо же как то залогиниться в админку.
И что это за дичь с двумя разными таблицами для админов и неадминов, сам придумал?
1) Решил добавлением в контроллер
//ADDED

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

use yii\filters\AccessControl;

    public function behaviors()
    {
        return [
->            'access' => [
->               'class' => AccessControl::className(),
->                'rules' => [
->                    [
->                        'actions' => ['login', 'index'],
->                        'allow' => true,
->                    ],
->                    [
->                        'actions' => ['view', '2index'],
->                        'allow' => true,
->                        'roles' => ['@'],
... 
Просто спер с SiteController

2) Да, эту "дичь" я сам придумал, поверь так надо.
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: yii2 advanced Авторизация

Сообщение girmate »

saygo писал(а): 2) Да, эту "дичь" я сам придумал, поверь так надо.
Просто интересно, зачем? Для какого случая Вы разделяете таблицу пользователей на две по привилегиям. Объясните, может в дебри лезете.
Осторожно! Вы общаетесь с новичком ;)
saygo
Сообщения: 48
Зарегистрирован: 2013.01.07, 09:55

Re: yii2 advanced Авторизация

Сообщение saygo »

girmate писал(а):
saygo писал(а): 2) Да, эту "дичь" я сам придумал, поверь так надо.
Просто интересно, зачем? Для какого случая Вы разделяете таблицу пользователей на две по привилегиям. Объясните, может в дебри лезете.
Не дебри, пожалуй.
Есть просто users, которые завязаны на реальные сущности, что вытекает в бухгалтерию, а есть admins, которые просто для управления базой.
С моей точки зрения так проще, я не лезу в RBAC, фронтенд и бекенд жестко разделен..
saygo
Сообщения: 48
Зарегистрирован: 2013.01.07, 09:55

Re: yii2 advanced Авторизация

Сообщение saygo »

saygo писал(а):
girmate писал(а):
saygo писал(а): 2) Да, эту "дичь" я сам придумал, поверь так надо.
Просто интересно, зачем? Для какого случая Вы разделяете таблицу пользователей на две по привилегиям. Объясните, может в дебри лезете.
Не дебри, пожалуй.
Есть просто users, которые завязаны на реальные сущности, что вытекает в бухгалтерию, а есть admins, которые просто для управления базой.
С моей точки зрения так проще, я не лезу в RBAC, фронтенд и бекенд жестко разделен..
Пока все идет хорошо ....

Возник вопрос, голова уже не варит к ночи... может кто подскажет, куда копнуть, чтоб не зареганого юзера всегда отправляло на /backend/web/site/login? (чтобы даже каркас меню не показывался)
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: yii2 advanced Авторизация

Сообщение ElisDN »

saygo писал(а):Возник вопрос, голова уже не варит к ночи... может кто подскажет, куда копнуть, чтоб не зареганого юзера всегда отправляло на...
AccessControl и так на /site/login отправляет. Сделайте для страницы логина свой layout.
saygo
Сообщения: 48
Зарегистрирован: 2013.01.07, 09:55

Re: yii2 advanced Авторизация

Сообщение saygo »

ElisDN писал(а):
saygo писал(а):Возник вопрос, голова уже не варит к ночи... может кто подскажет, куда копнуть, чтоб не зареганого юзера всегда отправляло на...
AccessControl и так на /site/login отправляет. Сделайте для страницы логина свой layout.
Немного не так выразился, например есть у меня /site/index , на него я behavior не делал.
В админке будет до десятка моделей и штук 40 контроллеров, есть ли возможность по умолчанию (без прописи в каждом контроллере) незарегестрированных отправлять на /site/login?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: yii2 advanced Авторизация

Сообщение ElisDN »

Навесьте на всё приложение: viewtopic.php?f=19&t=37781&p=194312#p194312
Ответить