Единая сессия и кукис на домене и поддоменах

0

Нужно было чтобы корзина магазина работала на поддоменах, решил вопрос так:

1. создал wa-config/Response.class.php

<?php
class Response extends waResponse
{
    public function setCookie(
        $name,
        $value,
        $expire = 0,
        $path = '',
        $domain = '',
        $secure = false,
        $http_only = false
    ) {
        if (empty($domain)) {
            $domain = '.site.ru';
        }
        return parent::setCookie(
            $name,
            $value,
            $expire,
            $path,
            $domain,
            $secure,
            $http_only
        );
    }
}

2. создал wa-config/factories.php

<?php

return array(
    'response' => 'Response',
    'storage' => array(
        'waSessionStorage',
        array('session_cookie_domain' => '.site.ru')
    )
);

3. добавил в wa-config/SystemConfig.class.php после

waAutoload::register();

строку для автозагрузки класса Response:

waAutoload::getInstance()->add('Response', 'wa-config/Response.class.php');

4. '.site.ru' заменить на Ваш домен, точка вначале добавлена специально для старых браузеров.

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

Не стал делать плагином т.к. он не обеспечивает замены для всех приложений и загружается после задания кукис/сессии.

0 комментариев

    Добавить комментарий

    Чтобы добавить комментарий, зарегистрируйтесь или войдите