Управление правами для пользовательских файлов

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

Например:

Пользователь загружает файл, над которым должна работать небольшая группа из 2-3 пользователей. Эта группа является динамической, и они должны получить доступ только к этому файлу. Другая группа под названием "Персонал" должна иметь возможность просматривать ее, но не иметь возможности редактировать или удалять ее.

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

По сути, я бы получил много тысяч групп с множеством избыточных прав. Есть ли лучший подход к этому?

Спасибо

2 ответа

Решение

Я думаю, что вы можете использовать что-то вроде "лидер группы" - первый зарегистрированный пользователь для определенной группы. Вы можете использовать его идентификатор в качестве идентификатора группы (чтобы уменьшить количество таблиц и избежать путаницы в таблице с группами без пользователей).

Если вам нужна информация о наилучшем подходе - читайте об управлении правами на файлы в Unix (стандартном или ACL, если вам нужно несколько групп для пользователя).

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

Другие вопросы по тегам