В моем приложении Symfony 2 я хочу использовать стандартную систему авторизации пользователей и ролей (http://symfony.com/doc/2.0/book/security.html)
Мой пользователь — это сущность, хранящаяся в базе данных с доктриной (реализующей пользовательский интерфейс). В моей системе будет 5 предопределенных ролей, и у каждого пользователя может быть несколько таких ролей.
Как бы это реализовать наиболее идиоматично? Я думаю о следующих трех решениях.
Создайте отдельный объект роли и создайте отношение «многие ко многим» с объектом пользователя
Имейте поле внутри пользователя, которое представляет собой отсортированный список ролей, разделенных запятыми, и getRoles( ) реализован как explode(',',this.all_roles)
Иметь 5 бинарных полей в объекте пользователя для каждой роли
Какой самый идиоматический способ реализации этой системы?