![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
admsasha |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: нет Всего: 6 |
имеется host1,host2,host3
Нужно сделать, чтобы авторизовавшись на host1, авторизация была бы и на host2, но для host3 своя авторизация. Как это лучше всего сделать ? |
|||
|
||||
Nab |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 8 Всего: 37 |
OpenID и ему подобные технологии...
-------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
admsasha |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: нет Всего: 6 |
Если я правильно понял, то не подходит... т.е. чтобы меня аутифицировать, я должен вставлять уникальный номер к каждой ссылке. Это не проблема. НО.. пользователь может зайти на host1 или host2 набрав вручную, и ID уже не будет передан. Неверно понял ? |
|||
|
||||
Nab |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 8 Всего: 37 |
Я привел OpenId, как пример технологии доверительного входа.
Но все зависит от вашей конкретной технологии... В любом случае большинство технологий единого входа, основываються на том факте, что сервер входа один ( я не говорю про репликацию, резервирование и вторичные сервера в кластерных системах). Это означает что база с пользователями одна, а использовать ее могут много хостов. (как пример Radius, Tacacs, возможно ldap). Центральный хост сам может разсылать уведомления, что такой-то аккаунт произвел вход, или внешние системы сами могут запрашивать инфу о текущем акке. Какой метод применить, решать вам. Но чаще используеться второй способ. Первый способ используеться если системы очень разнообразные, и некоторые из них в этом случае вообще могут не иметь способов аутентификации. А только получать какието правила для управления, в связи с входом или выходом. -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
admsasha |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: нет Всего: 6 |
Это как бы понятно, но через что (кукисы,сессии) возможна такая авторизация ?
Если бы у меня была структура следующего вида www.host1.ru/myforum/proga.cgi www.host1.ru/mychat/proga.cgi То задачу можно было бы решить через кукисы, в каком ли я каталоге не был, кукисы легко прочитать, т.к. хост один. А если хосты разные, то такое вроде как проблематично, да и будет мешать тем, хостам которые не должны попадать в это правило. Если бы вход был с одного хоста, а только потом можно было попасть на второй хост, то тоже можно решить было, через сессии. Но в задаче на host2 можно перейти сразу, когда либо авторизировавшись на host1. |
|||
|
||||
fantome |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 5.2.2007 Репутация: нет Всего: 1 |
admsasha,
а разве нельзя для куков задать несколько доменов??? как вариант - при авторизации выставлять куки сразу для всех трех доменов... |
|||
|
||||
admsasha |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: нет Всего: 6 |
||||
|
||||
Nab |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 8 Всего: 37 |
Конечно не получиться, и не должно получиться, ибо тогда весь смысл куков летит к чертям
![]() В любом случае, вам нужно идентифицировать клиента на обоих хостах, именно идентифицировать, а не авторизовать, и если мы будем знать кто на сайт зашел мы можем спросить у соседнего хоста, был ли посетитель залогинен на нем, то есть проходил ли он где аутентификацию. Или наоборот, при прохождении аутентификации на одном из хостов сообщить всем, что такой-то произвел вход... Но не зависимо от этого, каждый хост в отдельности должен идентифицировать посетителя, куку ему повесить и или еще что. И поставить соответствие того, что это именно тот посетитель который залогинился на соседнем хосте. OpenID для такого подходит куда как хорошо... Вот Иван об этом писал лучше и понятнее... http://softwaremaniacs.org/blog/category/openid/ Просто по другому такую вещь не реализуешь, куки нельзя передавать между хостами, только в пределах одного домена... Добавлено через 4 минуты и 59 секунд Я это все говорил к тому что на каждом хосте человеку прийдеться сказать, что именно я, "вася пупкин" пришел, а залогинился я или нет вы разбирайтесь сами. Автоматическую передачу такой информации не позволяет реализовать нынешняя технология, да и не должна.... Вернее способы есть, но они основаны на включении как правило скрытых фреймов, с адресом другого хоста, и последующим общением между этими доменами для разруливания ситуации... -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |