Как незаметно определить тип учетной записи пользователя при входе в систему? - PullRequest
0 голосов
/ 09 марта 2011

Я начал создавать веб-приложение с разными типами пользователей - включая администраторов и клиентов, и я хочу, чтобы у каждого типа учетных записей была своя собственная таблица базы данных пользователей (система сессий и т. Д.), Но с той же страницей входа в систему.

Администраторы не регистрируются - им выдается учетная запись, тогда как Заказчик регистрируется на странице, посвященной созданию своей учетной записи, поэтому в настоящее время и в будущем каждый тип учетной записи пользователя будет иметь свою собственную регистрацию. стр.

Тем не менее, все типы учетных записей пользователей, т.е. администраторы и клиенты, должны иметь возможность входить с одной и той же страницы - без каких-либо различий - в форму входа в систему, т. Е. Без раскрывающегося списка для выбора типа учетной записи пользователя, в которую выполняется вход.

Мои цели:

  1. все типы учетных записей пользователей (3+) входят в веб-приложение с помощью одной формы,
  2. не требуется никакого видимого идентификатора типа учетной записи пользователя, например, при форматировании имени пользователя,
  3. максимально безопасный «невидимый» идентификатор типа учетной записи пользователя.

Одним из решений, о котором я подумал, является: хеширование паролей по-разному для каждого типа учетной записи пользователя, но с некоторой константой в хэше, которую можно прочитать при входе в систему для определения типа учетной записи пользователя, которая затем указывает процессу входа в систему: правильный дБ для этого пользователя, но для этого потребуется некоторая константа в хешированном выводе ... и я застрял. Я на правильном пути?

Кто-нибудь знает сценарий / инструкции / или статью, в которой описан такой процесс? Это должно использоваться во многих современных веб-приложениях.

Спасибо

1 Ответ

0 голосов
/ 09 марта 2011

Там, где нам приходилось реализовывать несколько типов учетных записей (в больших системах, я должен подчеркнуть), мы всегда выбираем общую (Users) таблицу для дополнения дополнительных таблиц (Administrators, WebUsers, Suppliers и т. Д.)

Таблица Users будет ссылаться либо на Администратора, WebUser и т. Д., А любая «общая» функциональность (т. Е. Вход в систему, журналы, блокировки записей) будет ссылаться на общую таблицу Users.

Затем из записи пользователей вы можете определить тип учетной записи и решить, что они могут / не могут делать.

Я должен подчеркнуть, что это только потому, что структура этих таблиц настолько различна, что все они не могут быть сохранены в одной и той же таблице. Например, если есть только один столбец, вам не нужно делать все это.

...