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

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

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

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

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

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

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.