Проблема разработки аутентификации веб-приложения - PullRequest
0 голосов
/ 30 мая 2011

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

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

Существует 4 уровня: пользователь, суперпользователь (я), менеджер магазина, работник магазина и покупатель.

Моя проблемакакой тип аутентификации использовать для каждого типа пользователей, должен ли он основываться на электронной почте?или на основании какого-то имени пользователя?

Менеджер магазина придет на наш сайт и создаст новый магазин, и я рад, что им следует использовать адрес электронной почты и пароль для аутентификации.Затем менеджер магазина создаст учетные записи для работников магазина и покупателей.Для клиентов, опять же, я рад, что они прошли аутентификацию с адресом электронной почты и паролем.Но что я должен использовать для работников магазина?Я не думаю, что им следует использовать свой личный адрес электронной почты для учетной записи, которая будет чисто профессиональной, как вы думаете?Кроме того, я могу предвидеть, что менеджер может создать одну учетную запись работника, оставить ее в системе, и все работники будут использовать эту одну учетную запись, поэтому, опять же, адрес электронной почты будет неуместным.

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

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

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

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

У кого-то есть предпочтения в отношении вышеупомянутого?или, надеюсь, может предложить лучшее решение.Спасибо за чтение.

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Хороший вопрос.Использование электронной почты было бы хорошим решением и для сотрудников.Причины:

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

  2. Если менеджер магазина хочет использовать одну учетную запись для всех, он может создать общую электронную почту и использовать.

  3. Сбросить / забыть пароль можноБыстро реализоваться, если мы используем электронную почту.

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

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

Надеюсь, это поможет.

1 голос
/ 30 мая 2011

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

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

Хорошая особенность электронной почты состоит в том, что она уникальна.Я думаю, что «принуждение» людей использовать электронную почту не представляет особой проблемы - они сами решают, какую из них использовать.Если им нужен адрес электронной почты для учетной записи, связанной с работой, то это должен быть адрес электронной почты, связанный с работой - но это их проблема.

Другой аспект - это платформа, которую вы используете;Я почти уверен, что стандартная роль ASP.NET и поставщик членства по умолчанию отключают имя пользователя для входа в систему.Поэтому, если вы используете существующую платформу, такое решение может быть принято за вас.

Наконец, с точки зрения различных подходов, существуют также федеративные системы / провайдеры аутентификации, такие как OpenID, которые вы можете использовать - так что вы не можетедаже не нужно писать много вещей для управления пользователями / безопасностью - и пользователям будет проще, если они смогут повторно использовать набор учетных данных, с которыми они уже знакомы.Я не смотрел на это, но я думаю, что, вероятно, есть эквиваленты для того, чтобы иметь возможность входить в пользовательские вещи, такие как учетные записи Yahoo / Google / FaceBook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...