Каким способом лучше разграничить права пользователей

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
antosh
Сообщения: 11
Зарегистрирован: 2017.04.26, 14:14
Откуда: Москва

Каким способом лучше разграничить права пользователей

Сообщение antosh »

Приветствую,
вопрос новичка, но, надеюсь, тем быстрее и однозначнее он может быть решён :).

Допустим есть 2 роли: администраторы и копирайтеры. Разумно ли использовать для реализации управления статьями на сайте 1 контроллер и 2 вида (1 для каждой из ролей), если виды будут очень похожи?

С Yii не знаком, изучаю попутно, в основном по этому форуму). В предложенном варианте смущает то, что виды очень похожи и впоследствии при модернизации придется часто делать двойную работу. С другой стороны очень просто: один раз разграничить допуски у ролей и отредактировать виды (ненужные поля скрыть у копирайтера, какие-то запретить редактировать и тд.).
= Мои вопросы туповатые, но это мы не проходили, это нам не задавали) =
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Каким способом лучше разграничить права пользователей

Сообщение futbolim »

Суть фреймворков - dry.
Но. Я часто "забиваю" на этот принцип в угоду простоты. Иногда легче 2 раза поправить, чем один раз в каше.
Решайте сами. Нужно искать золотую середину.
antosh
Сообщения: 11
Зарегистрирован: 2017.04.26, 14:14
Откуда: Москва

Re: Каким способом лучше разграничить права пользователей

Сообщение antosh »

futbolim писал(а): 2017.04.27, 01:19 Решайте сами. Нужно искать золотую середину.
Спасибо. Я хотя бы понял, что мой подход не неверный в корне. Значит для начала можно и его применить.
= Мои вопросы туповатые, но это мы не проходили, это нам не задавали) =
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Каким способом лучше разграничить права пользователей

Сообщение zelenin »

futbolim писал(а): 2017.04.27, 01:19 Суть фреймворков - dry.
Но. Я часто "забиваю" на этот принцип в угоду простоты. Иногда легче 2 раза поправить, чем один раз в каше.
Решайте сами. Нужно искать золотую середину.
dry - это про реиспользование одинакового функционала. похожесть - это не одинаковость.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Каким способом лучше разграничить права пользователей

Сообщение zelenin »

antosh писал(а): 2017.04.27, 22:59
futbolim писал(а): 2017.04.27, 01:19 Решайте сами. Нужно искать золотую середину.
Спасибо. Я хотя бы понял, что мой подход не неверный в корне. Значит для начала можно и его применить.
можно все что угодно. Но в данном случае у вас просто вьюшки, содержащие формы. Да, формы состоят из полей. Поля иногда называются одинаково, но это совпадение, а не следствие родства функционала.
Отличайте одинаковость от совпадения.
Аватара пользователя
maleks
Сообщения: 1992
Зарегистрирован: 2012.12.26, 12:56

Re: Каким способом лучше разграничить права пользователей

Сообщение maleks »

antosh писал(а): 2017.04.26, 21:40 С другой стороны очень просто: один раз разграничить допуски у ролей и отредактировать виды (ненужные поля скрыть у копирайтера, какие-то запретить редактировать и тд.).
Нет, так делать неверно.
1) То что вы во вьюхе что то там скроете, не означает безопасности модели.
2) Для безопасности надо использовать правила модели. Тут есть такое понятие как безопасные атрибуты.
3) Роли - это сущность динамическая, а вьюхи ваши - статическая.
antosh
Сообщения: 11
Зарегистрирован: 2017.04.26, 14:14
Откуда: Москва

Re: Каким способом лучше разграничить права пользователей

Сообщение antosh »

maleks писал(а): 2017.04.28, 08:13 спасибо, поищу информацию про это. Попробую сделать, как советуете про правила моделей и безопасные атрибуты. Сходу посмотрел на атрибуты, пока не понял, как их использовать, но надо делать). Не получится, вернусь к вопросу здесь.
= Мои вопросы туповатые, но это мы не проходили, это нам не задавали) =
Ответить