@SeiLove

Как зашифровать сессию в symfony?

Всем привет! Я пытаюсь использовать proxy согласно документации для решения поставленной задачи. Но почему-то ничего не происходит. Возможно я забыла где-то что-то зарегестрировать дополнительно? Кто-нибудь сталкивался с такой проблемой?
Код прокси (один в один с документацией):
namespace SecurityBundle\Session;
use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy;

class EncryptedSessionProxy extends SessionHandlerProxy
{
    private $key;

    public function __construct( \SessionHandlerInterface $handler, $key)
    {
        $this->key = $key;

        parent::__construct($handler);
    }

    public function read($id)
    {
        $data = parent::read($id);

        return mcrypt_decrypt(\MCRYPT_3DES, $this->key, $data,'ecb');
    }

    public function write($id, $data)
    {  
        $data = mcrypt_encrypt(\MCRYPT_3DES, $this->key, $data,'ecb');

        return parent::write($id, $data);
    }

}

Моя конфигурация в сервисах
security.encrypt_native_session:
        class: SecurityBundle\Session\EncryptedSessionProxy
        arguments: ['@session.handler.native_file','secret_string']

Мой config.yml
session:
        handler_id:  security.encrypt_native_session
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы