Django Multi -Логины пользователей -лучший подход?

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

Два подхода, которые я придумал до сих пор, включают:

  • Одна(Userмодель + пара SiteProfileмодель )и множество PublicProfileмоделей на человека. AUTH_PROFILE_MODULEнастроен на модель SiteProfile. Проблема с этим заключается в том, что я не могу легко использовать разрешения для -объекта :, они будут установлены для объекта User, а не для общедоступного профиля, поэтому также будут применяться разрешения на просмотр страницы для «PublicProfileA». когда пользователь маскируется под «PublicProfileB».

  • Одна модель Accountи несколько пар моделей(User+ модель UserProfile)на человека. AUTH_PROFILE_MODULEуказывает на модель UserProfile. Это дало бы дополнительное преимущество в том, что разрешения работают, как предполагалось, и что я могу просто иметь Custom Backend, который будет переключать пользователей, аутентифицируя пользователя, если они в настоящее время вошли в систему как другой пользователь, который имеет тот же объект Account, что и Иностранный ключ. Аутентификация будет происходить путем чтения полей в объекте Account, что будет означать, что поле passwordв каждом объекте Userбудет потрачено впустую.

  • То же, что и выше, но с подклассом Accountиз User. Однако мне настоятельно рекомендовали не делать этого (по неясным )причинам.

Есть ли подводные камни или лучшие подходы к этому? В конечном счете, должен ли я использовать построенную -в Userмодель как одну -на -модель человека, которая идентифицирует группу общедоступных профилей (, из которых эти профили имеют FK назад к Userобъект )или использовать его как сам профиль, ссылаясь на один объект Accountдля каждого человека?

6
задан TC Fox 8 May 2012 в 11:23
поделиться