Разрешение входа в систему с адресом электронной почты при одновременном разрешении нескольких пользователей с одним и тем же адресом электронной почты - PullRequest
4 голосов
/ 24 августа 2011

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

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

Вот несколько возможных способов справиться с этим, когда пользователь входит в систему с адресом электронной почты:

Если адрес электронной почты совпадает с несколькими учетными записями, а пароль (конечно, хэшированный) соответствует хотя бы одному из паролей учетной записи с этим адресом, выполните одно из следующих действий:

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

или

B. То же, что и A, однако, если пароль точно соответствует одному из паролей учетной записи, просто примите его и войдите в систему как эта учетная запись.

Я бы хотел пойти с B. Однако, использование пароля для разграничения двух учетных записей кажется, что оно может иметь некоторые очевидные ошибки безопасности (которые я могу пропустить), или даже некоторые неочевидные.

Будет ли это хорошим решением или есть общепринятая "лучшая практика" для этого?

Ответы [ 4 ]

3 голосов
/ 24 августа 2011

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

2 голосов
/ 24 августа 2011

Большинство сайтов используют адрес электронной почты + пароль в качестве основного идентификатора. Люди привыкли к этому, и это работает. Иди с этим.

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

Настройка нескольких входов в систему может привести к проблемам, так как требует большего управления, и это увеличивает вероятность того, что люди ленятся хранить свой пароль в безопасности. Когда вам нужно сменить пароль, что тогда? Изменить их все? ПОЦЕЛУЙ = будь проще, глупый.

1 голос
/ 24 августа 2011

Если вы нажмете «B», что произойдет, если пользователь выберет один и тот же пароль для обеих учетных записей?Как вы будете выбирать, в какую учетную запись автоматически входить и как пользователь сможет войти во вторую учетную запись?Грязное.

1 голос
/ 24 августа 2011

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

...