У меня есть задача, в которой я должен представлять связь M-N между таблицей Users и курсом. Цель состоит в том, чтобы разрешить только некоторым пользователям (с уровнем привилегий) увидеть некоторые данные Курса (другие связанные таблицы). Все усложняется, потому что пользователь может иметь несколько уровней привилегий на разных курсах. Например, посещение курса 1 даст ему привилегию 1, просмотр курса2 даст ему привилегию 2 и так далее. Я думаю, что есть таблица users_courses, которая сохранит отношения между пользователем и курсом, а также уровень привилегий (например, для столбцов: UserID | CourseID | Privilege). Вопрос в том, могу ли я создать эту таблицу соединений, включая поле Privilege? Есть ли еще более простой подход?MySQL M-N Связь с дополнительными атрибутами и разрешениями
ответ
Вы можете использовать шаблон RBAC для этой цели. На приведенном ниже рисунке показан пример использования пользователей, разрешений и приложений. В вашем случае вы будете использовать пользователей, привилегий и курсов. Вы также можете использовать роли для улучшения управления привилегиями.
привет, вы можете быть немного более четко с этим подходом/которые являются преимущества/недостатки? – alexsc
Я не понимаю, это кажется сложным для ничего, а что, если вместо ролей у нас есть только идентификаторы, чтобы избежать одной таблицы? – alexsc
Вы можете опустить таблицу «Роль», если хотите. Однако, используя эту таблицу, вы можете группировать пользователей по ролям, это означает, что предоставление определенной привилегии роли, предоставляемой вами для всех пользователей, имеющих эту роль. –
- 1. ScriptBundle с дополнительными атрибутами
- 2. Как использовать has_many через связь с дополнительными атрибутами
- 3. GLSL шейдер с дополнительными атрибутами
- 4. Конструктор подкласса с дополнительными атрибутами
- 5. Угловая директива с дополнительными атрибутами
- 6. Права доступа к Facebook - с дополнительными разрешениями
- 7. Диаграмма использования случая: действующий с дополнительными разрешениями
- 8. рельсы создают модель с дополнительными атрибутами
- 9. Определение модели для Gson с дополнительными атрибутами
- 10. Расширение Queryset модели с дополнительными атрибутами
- 11. Производный класс с дополнительными частными атрибутами
- 12. HABTM с дополнительными атрибутами на вложенной форме
- 13. Rails has_many checkboxes с дополнительными атрибутами
- 14. Расширение django auth.models.User с дополнительными атрибутами
- 15. Scala: Как определить перечисление с дополнительными атрибутами?
- 16. Джанго M2M отношение модели с самим собой с дополнительными атрибутами
- 17. secelizejs join table с дополнительными атрибутами не работает
- 18. factory_girl> связь с ленивыми атрибутами
- 19. Связь с Jframe и mySQL
- 20. Связь с MySQL и HBase
- 21. Группа с дополнительными функциями MySQL
- 22. Использование JSON.NET для генерации схемы JSON с дополнительными атрибутами
- 23. Netbeans и mysql связь
- 24. Этикетки с дополнительными атрибутами, используя ASP.NET HTML Помощник
- 25. Создание уникальных отношений с дополнительными атрибутами для отношений
- 26. Связь и запрос MySQL
- 27. Какова связь между политикой SEAndroid и разрешениями Android?
- 28. Связь Java и mysql
- 29. Database MN relationship
- 30. Связь Php и Mysql
Похоже, разумный подход ко мне – Strawberry