Задать вопрос
@FedorovDG
Студент-физик, начинающий web-программист

Как правильно распределить права доступа пользователям к записям в бд?

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

Предположим, пользователь авторизовался. Теперь я хочу, чтобы у пользователя была возможность добавлять контент в бд. Допустим, я с этим тоже справился. Но суть в том, что этот контент должен видеть только этот пользователь и к этому контенту должен иметь доступ только пользователь (предположим с id = 5). Как надо организовывать хранение данных в бд? Для каждого пользователя делать свою таблицу с контентом и давать доступ только к этой таблице? Тогда вопрос, как сделать, что бы некоторые строки из этой таблицы были доступны и другим пользователям? Скиньте плиз каких-нибудь статей, уроков для новичков. Как правильно организовывать базы данных, чтобы это было безопасно?
  • Вопрос задан
  • 158 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 2
DDolgy
@DDolgy
Распи***й
Делаешь переменную сессии с I'd пользователя и когда записываешь контент в таблицу,
то передавай и эту переменную, а когда вытаскивать контент с бд, то чтоб проходили условия типа взять с такой таблицы инфу с такой инфой, но при этом, чтоб id сессии был равен полю session id в бд
Ответ написан
Комментировать
@artemmityushov
Два способа:
1. В каждой таблице держать user_id и фильтровать по нему.
2. Завести отдельное значение для инкрементов единых на все справочники, или использовать тип UUID, а в отдельной таблице держать связку ID записи и ID пользователя.

Первое проще, второе более масштабируемое, оно позволит распределять записи например давать доступ нескольким пользователям видеть какую-то одну запись.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы