Перейти к содержимому


Правила доступа

Правила доступа

Сообщений в теме: 11

#1 serg499

    Активный участник

  • Пользователи
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 31 Октябрь 2013 - 15:22

Здравствуйте! Не могу понять принци работы правил доступа. Есть таблица счетов. Для группы Специалисты доступ выставлен так


Создано два правила:
1. Для запрета просмотра чужих заказов


2. Для редактирования своих (т.е. не подпадающих под действие правила Чужие) заказов, если Наша фирма равно Валет


В итоге своем заказе на Валет специалист поле Статус оплаты отредактировать НЕ может! Получается, правило Валет не работает. Подскажите, пож-та, почему?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 31 Октябрь 2013 - 17:19

Непонятно зачем вы 2 правила создали. Достаточно заполнить общие права и добавить одно из правил, например на свои записи. Тогда общие будут действовать для "чужих". Попробуйте так сделать.

#3 serg499

    Активный участник

  • Пользователи
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 31 Октябрь 2013 - 17:29

Имеем три разные случая (с уникальным набором прав на поля):
1. Чужая запись
2. Своя запись не Валет
3. Своя запись, Валет
Не совсем понял, как можно описать эти 3 случая общими правами и 1 дополнительным. По-моему, нужно все-таки 3 (1 общее и 2 доп)?

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 01 Ноябрь 2013 - 08:17

У вас в первом сообщении написано:

Цитата

Создано два правила:
1. Для запрета просмотра чужих заказов
2. Для редактирования своих

Из чего я понял, что случая только 2. Непонятно правда, что тогда описывают общие права. Если же случаев действительно 3, то почему тогда с правами у вас не так:

1. Чужая запись - общие права
2. Своя запись не Валет (Менеджер` = {текущий} И `Наша фирма` != "Валет") - правило 1
3. Своя запись, Валет (`Менеджер` = {текущий} И `Наша фирма` = "Валет") - правило 2

? По сути это вариация того что я и написал выше, но с доп.условием.

#5 serg499

    Активный участник

  • Пользователи
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 01 Ноябрь 2013 - 10:34

Да, Вы правильно поняли, такой вариант тоже подходит!
Только у Вас "чужие" попадают под общие права, а у меня общие права это `Менеджер` = {текущий} И `Наша фирма` != "Валет", а остальное в виде правил. Ведь, по идее, разницы в итоге быть не должно? Просто получается либо я не понимаю, в какой последовательности выполняются правила и действует ли "принцип суперпозиции" на них, либо какой-то баг в системе...

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 01 Ноябрь 2013 - 10:45

Цитата

Ведь, по идее, разницы в итоге быть не должно?

Теоретически, разницы может и не быть, но мой вариант логичнее и проще для понимания. В том числе чтобы быстро разобраться где неверно настроено, если не работает как надо.

Цитата

Просто получается либо я не понимаю, в какой последовательности выполняются правила и действует ли "принцип суперпозиции" на них, либо какой-то баг в системе...

Правила выполняются в порядке очередности по номеру, "нулевыми" служат общие права. Но надежнее так выстроить условия, чтобы от порядка вообще не зависело, как в моем варианте.

#7 serg499

    Активный участник

  • Пользователи
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 01 Ноябрь 2013 - 11:11

Сделал по Вашему варианту, т.е. по умолчанию - чужие записи, а уже правила разрешают доступ.
Выглядит это теперь так:
Общие права - Чужие:
Прикрепленное изображение: по умолчанию.jpg

Список правил:
Прикрепленное изображение: Правила.jpg

Правило 1 - Свои, Валет:
Прикрепленное изображение: Валет.jpg

Правило 2 - Свои, не Валет (но Валет тоже подходит, т.е. на него должно распространяться):
Прикрепленное изображение: Свои, Не Валет.jpg

В итоге пользователи не видят своих счетов вообще! При попытке добавить новую запись:
Прикрепленное изображение: Ошибка.jpg

Сообщение отредактировал serg499: 01 Ноябрь 2013 - 11:27


#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 13 Ноябрь 2013 - 13:42

Прошу прощения за задержку. Проверил у себя, похоже что я посоветовал вам не совсем то, что надо. Правила в этом виде действительно не будут работать для новой записи, т.к. для нее не определено значение поля "Наша компания", только "Менеджер". Следовательно, в этом случае работают общие правила, т.е. никаких прав нет. Значит, надо действовать от противного, т.е. разрешить максимум прав по умолчанию (в том числе и для возможности добавления), а затем добавить запрещающие правила для тех условий, где они нужны. Например, "Правило 1": "Наша компания не равно Валет" - запрещаем редактирование полей Номер, Оплачено и т.д., "Правило 2": "Менеджер не равно текущий" - запрещаем все остальное. Попробуйте так сделать.

#9 serg499

    Активный участник

  • Пользователи
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 13 Ноябрь 2013 - 20:39

Да, я Вас понял, спасибо, попробую! Единственное, что не совсем ясно - а как же существующие записи, где уже заданы значения поля "Наша компания"? Насколько я понял (в том числе из сообщений техподдержки) что это баг КБ, который сейчас в очереди на устранение.

#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Ноябрь 2013 - 09:38

Цитата

Да, я Вас понял, спасибо, попробую!

Как сделаете, отпишитесь о результате, пожалуйста, т.к. ваша заявка пока открыта.

Цитата

Единственное, что не совсем ясно - а как же существующие записи, где уже заданы значения поля "Наша компания"? Насколько я понял (в том числе из сообщений техподдержки) что это баг КБ, который сейчас в очереди на устранение.

Возможно, но по существующим записям я не проверял, только по добавлению. В любом случае, новый вариант должен теоретически работать, даже если старый не работает.

#11 serg499

    Активный участник

  • Пользователи
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 14 Ноябрь 2013 - 13:28

Просмотр сообщенияCbCoder (14 Ноябрь 2013 - 09:38) писал:

Как сделаете, отпишитесь о результате, пожалуйста, т.к. ваша заявка пока открыта.
Переделал, все равно не работает. Т.е. ест-но доступ к счетам появился, но "Правило 1": "Наша компания не равно Валет" - запрещаем редактирование полей Номер, Оплачено и т.д. - не работает, т.е. "наша компания" не Валет, а спец-т все равно имеет доступ к полям, к которым не должен, хотя стоит явный запрет - пустой красный квадратик!

Сообщение отредактировал serg499: 14 Ноябрь 2013 - 13:29


#12 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Ноябрь 2013 - 13:56

Да, похоже все таки имеет место баг в условиях правил, связанный с полями связи. Будем решать его.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных