Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Азат Разетдинов 28.04.2007 12:54
Ситуация стандартная: при логине/логауте на одном домене необходимо повторить эту процедуру на всех остальных доменах проекта. Написал следующий метод для класса myauth, реализующий cookie ring. Параметром передаётся таблица доменов, на которые по цепочке происходит редирект. Как только возвращаемся на исходный домен, редирект прекращается. Будут ли какие-нибудь замечания?########################################################################### # shares cookies across domains @shareCookies[tDomain][sQuery;sName;sValue] ^if(def $logon_data.[auth.logon] || def $logon_data.[auth.logout]){ ^if(^tDomain.locate[domain;$env:HTTP_HOST]){ ^tDomain.offset(1) ^if(def $logon_data.[auth.domain]){ ^if($tDomain.domain eq $logon_data.[auth.domain]){ $response:location[^untaint{http://${logon_data.[auth.domain]}$logon_data.[auth.uri]}] }{ $response:location[^untaint{http://$tDomain.domain/?$request:query}] } }{ $sQuery[^logon_data.foreach[sName;sValue]{$sName=$sValue}[&]] $response:location[^untaint{http://$tDomain.domain/?auth.domain=$env:HTTP_HOST&auth.uri=$request:uri&$sQuery}] } } }