February 15th, 2008

old rover

Логины и ники

Практически повсеместно применяется один из двух вариантов авторизации пользователя: 1) пользователь вводит свой почтовый адрес и пароль, на странице редактирования личной информации вводит ник, который на сайте и отображается, 2) пользователь вводит пароль и логин, которые отображается на сайте, как ник.
У обоих вариантов есть плюсы и минусы. Например, если пользователь хочет, чтоб на сайте все видели его ник как помесь арабской вязи и псевдографики, то тут лучше подходит первый вариант, который не помешает пользователю залогиниться почти ни при каких обстоятельствах и проблемах с кодировками. Правда, учитывая мое отношение к никам из арабской вязи, псевдографике и спецсимволам, такое вряд ли кому будет позволено устраивать. Второй способ хорош тем, что не имеет привязки к почтовому адресу.
Но оба они просасывают, когда приходит время заниматься красивыми URL. Обычно, чтоб посмотреть профиль пользователя, подходит адрес типа www.example.com/users/12345, где 12345 - порядковый номер пользователя в таблице в базе данных. Куда круче, если URL выглядит так: www.example.com/users/username или, еще круче, так: username.example.com. Ну и откуда брать этот username у пользователя с ником "Серёга" и почтой serega@example.com? А у пользователя с логином "Серёга", который вовсе удалил из профиля свой почтовый адрес?
Поэтому, я думаю, надо иметь отдельно логин (с жесткими правилами - только латинские буквы, цифры и дефис, причем дефис не может быть ни первым, ни последним символом), отдельно ник (можно русские буквы, но тут надо соблюдать какую-то политику в отношении ников, чтоб пользователи не могли их менять, мимикрируя друг под друга) и отдельно - почтовые адреса, можно один основной и несколько дополнительных при желании.
UPD 16.02 Ну примерно как в жж, ага.
  • Current Mood
    gut
  • Tags