Ещё раз — внешняя авторизация
Добавлено: 02:49, 26.05.2010
Знаю, многие думали о подобном и обсуждали в разных темах. Создаю тему, чтобы подвести итог и собрать все мнения (а особенно хотелось бы услышать от разработчиков).
Внешняя авторизация.
Собственно серверным плагинам не разрешено получить пароли. Поэтому какая либо нормальная реализация с проверкой на AD или в БД биллинга сразу не возможна.
Приходят на ум всякие извращения начиная от укащания пароля в поле запроса активации до запроса пароля в ЛС или авторизация на боте специальной командой (вроде NickServ в IRC). Но это всё херня, ибо даже авторизовав пользователя таким образом мы не сможем сменить ему пароль уч. записи (или сможем?) да и лишние телодвижения... Многие просто этого не поймут.
Ещё один вариант — в обратном порядке. Биллинг (или другое нечто) при создании пользователя создаёт его и в коммфорте. Это возможно. Но опять же откуда ни возьмись — ограничения. Самое из них не понятноя для меня: невозможно сделать так, чтобы учётки не удалялись по времени неиспользования. Именно из-за этого нет смысла рассматривать схему с созданием учётки от внешнего биллинга потому, что она всё равно удалится (максимум 90 дней). Да и не лучший это вариант, так как во всех нормальных системах пароли так или иначе захешированы, что теоретически считается необратимым.
Исходя из всего этого самой нормальной схемой получается NickServ для коммфорта. Который будет всем вошедшим запрещать публикацию сообщений, но позволит пользователю авторизоваться с его текущим ником с паролем, который он укажет боту по спец команде. По истечении времени или не правильных попытках — бан от сервера на какое-то время. Но тогда всё равно остаётся вопрос с паролем на чат. Он может быть выбран пользователем любым, так как ему нужно будет всё равно пройти процесс регистрации. Так же надо будет запрашивать подтверждение пароля на боте если пользователь не заходил в чат тот промежуток времени, который указан для удаления учётки (нужно отслеживать посещения).
Какие мысли будут по алгоритму? Поправьте, если я в чём-то не прав.
PS а может ли серверный плагин назначать права пользователю? В доках вроде не нашёл...
Внешняя авторизация.
Собственно серверным плагинам не разрешено получить пароли. Поэтому какая либо нормальная реализация с проверкой на AD или в БД биллинга сразу не возможна.
Приходят на ум всякие извращения начиная от укащания пароля в поле запроса активации до запроса пароля в ЛС или авторизация на боте специальной командой (вроде NickServ в IRC). Но это всё херня, ибо даже авторизовав пользователя таким образом мы не сможем сменить ему пароль уч. записи (или сможем?) да и лишние телодвижения... Многие просто этого не поймут.
Ещё один вариант — в обратном порядке. Биллинг (или другое нечто) при создании пользователя создаёт его и в коммфорте. Это возможно. Но опять же откуда ни возьмись — ограничения. Самое из них не понятноя для меня: невозможно сделать так, чтобы учётки не удалялись по времени неиспользования. Именно из-за этого нет смысла рассматривать схему с созданием учётки от внешнего биллинга потому, что она всё равно удалится (максимум 90 дней). Да и не лучший это вариант, так как во всех нормальных системах пароли так или иначе захешированы, что теоретически считается необратимым.
Исходя из всего этого самой нормальной схемой получается NickServ для коммфорта. Который будет всем вошедшим запрещать публикацию сообщений, но позволит пользователю авторизоваться с его текущим ником с паролем, который он укажет боту по спец команде. По истечении времени или не правильных попытках — бан от сервера на какое-то время. Но тогда всё равно остаётся вопрос с паролем на чат. Он может быть выбран пользователем любым, так как ему нужно будет всё равно пройти процесс регистрации. Так же надо будет запрашивать подтверждение пароля на боте если пользователь не заходил в чат тот промежуток времени, который указан для удаления учётки (нужно отслеживать посещения).
Какие мысли будут по алгоритму? Поправьте, если я в чём-то не прав.
PS а может ли серверный плагин назначать права пользователю? В доках вроде не нашёл...