2016-08-10 3 views
0

Я работаю над проектом, который имеет много типов пользователей, таких как Contributor, Operator, CS, Admin с различными ролями и задачами. На данный момент я отформатирую регистрационную форму всего 2, один для администратора, а другой для остальных типов пользователей. Проблема в том, что у меня не было такого же credentials для разных пользователей, например, если у меня есть имя пользователя «employee1» и пароль «emp1secreet» для типа пользователя Contributor, тогда у меня не может быть такого же имени и пароля для Operator потому что одна форма входа в систему обрабатывается с единой бизнес-моделью, я не могу гарантировать, что если человек, который регистрируется, Operator или Contributor, но все остальное это не имеет значения. Мой вопрос: «общепринято для единой формы входа для нескольких пользователей?» или мне нужно разделить их на каждую форму/страницу входа? Форма единого входа для нескольких пользователей

+0

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

+0

Так что мне нужно добавить настройки, чтобы пользователь мог выбрать свою роль при входе в систему? как журнал как «Contributor» или «Operator», или «CS»? но это выглядит странно, если этот сайт для публики, я никогда не знаю, что такое общественная сеть. –

+0

Ни один человек в то время просто не взял здесь имя пользователя и пароль, а через запрос проверить, какой тип пользователя они –

ответ

0

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

Вы также хотите иметь таблицу базы данных со столбцами:

UserID[string], isContributor[bool], isOperator[bool], isAdmin[bool], isCS[bool] 

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

+0

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

+0

Есть много способов сделать это, я подозреваю, что это зависит от предпочтений и удобства использования того, что вы хотите сделать. Я бы никогда не разрешил двум пользователям системы иметь один и тот же идентификатор пользователя (не говоря уже о пароле), но вполне возможно, что один пользователь из нескольких систем повторно использует одну и ту же комбинацию идентификатор пользователя/пароля для всех своих логинов - и в этом случае для каждой системы будет доступна отдельная страница входа в систему (или начать поиск в методах однократной регистрации). Или, когда пользователь входит в систему, покажите им диалог, чтобы выбрать, какую роль они будут использовать, если это более уместно (и у них есть> 1 роль) – JetSetJim

+0

Да, это утверждение заставляет меня выбрать и рассмотреть модель.но как насчет схемы таблицы, я могу добавить поле имени пользователя и пароля в каждой таблице пользовательского типа? Я создаю одну таблицу с именем credentials и ссылаюсь на все таблицы пользовательских типов с отношением «один к одному»? –

Смежные вопросы