drinkmaker VIP
Total posts: 25
08 Апр 2014 05:25

Здравсвуйте, уже довольно давно работаю с Кобальтом, но столкнулся с проблемой и не могу придумать как её решить.\n\n Есть Тип и Раздел, в котором хранятся записи этого типа. Записи могут добавлять разные пользователи. Как сделать так, что бы в разделе пользователь видел только свои записи, те которые он сам создал. Лучшее что я придумал - это фильтр по пользователю, но пользователь может обойти его. А информация чувствительная, и нужно доступ только к своим записям и ни при каких условиях доступ к чужми. Подскажите пожалуйста, как такое реализовать?

Последние изменения: 08 Фев 2016


Sergey
Total posts: 13,748
08 Апр 2014 08:29
  1. В насроках типа на вкладке Добавления, параметер кто может смотреть поставьте Special.
  2. В настроках раздела Кто может видеть запрещеные статьи в списке поставьте No one.

И обратите внимание что

  1. Это не применится у уже созданым статьям только к новым
  2. Под админом вы все равно будете видеть все записи так что проверяйте под простым пользователм.

drinkmaker VIP
Total posts: 25
07 Фев 2016 10:08

В продолжение темы, спустя 2 года :)

Есть раздел "Заказы", в нём тип "Заказ". Каждый пользователь видит только свои заказы.

Когда заказ создаю из под админа, автором записи ставляю пользователя - всё супер. Пользователь видит свой заказ.

Когда тоже самое делаю программно, добавляю записи в таблицы, пользователь не видит свой заказ. Хотя запись создаётся нормально, админ может её видеть. НО Даже если при редактировании сменит владельца записи, она всё равно будет ему недоступна. Очевидно, что где то в БД я что то упускаю. Перерыл всё, сравнил доступные и недоступные записи, не могу найти.

Подскажите что может быть. Спасибо.


Sergey
Total posts: 13,748
08 Фев 2016 01:41

По идее ни чего не должно быть. Просто помнять пользователя доататочно. А что если вы меняете пользователя отредактировав запись? Так работает?


drinkmaker VIP
Total posts: 25
08 Фев 2016 13:25

Мой косяк, я с датами намутил чего то. Дата создания, дата изменения и прочие, их там несколько штук. Сейчас поставил все '0000-00-00 00:00:00' работает.

Спасибо.

Работает на Cobalt