trt / doctrine-encrypted-cache-bundle
Doctrine Encrypted Cache Bundle
Installs: 1 586
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
Requires (Dev)
- phpunit/phpunit: ~4.4
This package is not auto-updated.
Last update: 2024-11-19 09:11:40 UTC
README
This bundle integrates a Symfony2 application with the trt/doctrine-encoded-cache
library.
##Why cache encoding?
Because sometimes there is the need to make the cached data unreadable.
Think about high confidential data.
Only database servers are authorized to store datas.
How?
Cached data will be encrypted/decripted with AES256 (php-mcrypt extension is required)
Installation
run php composer.phar require trt/doctrine-encrypted-cache-bundle:~0.1
Create your KeyProvider
Put the following lines with Symfony Kernel
public function registerBundles() { $bundles = array( new Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle(), new Trt\Doctrine\Cache\Bundle\DoctrineEncodedCacheBundle() ); }
For security reason it's your responsability to store the encoding key in a safe place, so a key provider service is mandatory.
Create your own service implementing the KeyProvider
interface.
Example:
class CacheKeyProvider implements \Trt\Doctrine\Cache\Key\KeyProvider { /** * Provide the encoding key string. * * @return String */ public function getKey() { return $this->fetchKeyFromASafePlace(); } }
Register the service:
services: my_bundle.cache.key_provider: class: My\Bundle\CacheKeyProvider
Full Configuration
According to the DoctrineCacheBundle documentation, configure the cache service
## An Example with apc cache doctrine_cache: aliases: cache_apc: my_apc_cache providers: my_apc_cache: type: apc namespace: my_apc_cache_ns aliases: - apc_cache doctrine_encoded_cache: key_provider: my_bundle.cache.key_provider #Your key provider service cache: apc_cache #The doctrine cache service # Enable the doctrine ORM cache doctrine: orm: result_cache_driver: type: service id: doctrine_encoded_cache metadata_cache_driver: type: service id: doctrine_encoded_cache query_cache_driver: type: service id: doctrine_encoded_cache