Если у вас всего три роли, причем они пересекаются по функционалу (пользователю достаточно быть в одной из них, чтобы было понятно, что он может делать) - конечно role в User.
Если ролей много и каждая дает малый набор разрешений, и общее поле разрешений набирается из их суммирования - то, конечно, должна быть связь User c несколькими Role. Или, если хотите погрузиться в полный ад^W^W^W глубже, назначайте каждой Role несколько Permission, чтобы точно управлять, что каждая роль может и менять это в процессе функционирования сайта.