会话代理举例
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.4,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
会话代理举例
会话代理机制有多种用途,本例演示了两种常见用途。不是像往常一样注入会话处理程序,而是将一个处理程序注入到代理中并注册到会话存储驱动程序中:
1 2 3 4 5 6
使用ob娱乐下载\组件\HttpFoundation\会话\会话;使用ob娱乐下载\组件\HttpFoundation\会话\存储\NativeSessionStorage;使用ob娱乐下载\组件\HttpFoundation\会话\存储\处理程序\PdoSessionHandler;$代理=新YourProxy (新PdoSessionHandler ());$会话=新会话(新NativeSessionStorage (数组(),$代理));
下面,您将学习两个可以用于的真实示例YourProxy
:会话数据加密,只读客户会话。
会话数据加密
如果你想加密会话数据,你可以根据需要使用代理来加密和解密会话:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
使用ob娱乐下载\组件\HttpFoundation\会话\存储\代理\SessionHandlerProxy;类EncryptedSessionProxy扩展SessionHandlerProxy{私人$关键;公共函数__construct(\ SessionHandlerInterface$处理程序,$关键){$这->关键=$关键;父::__construct ($处理程序);}公共函数读($id){$数据=父::读($id);返回mcrypt_decrypt (\ MCRYPT_3DES,$这->键,$数据);}公共函数写($id,$数据){$数据= mcrypt_encrypt (\ MCRYPT_3DES$这->键,$数据);返回父::写($id,$数据);}}
只读嘉宾会议
在某些应用程序中,来宾用户需要会话,但并不特别需要持久化会话。在这种情况下,您可以在写入会话之前拦截会话:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
使用喷火\用户;使用ob娱乐下载\组件\HttpFoundation\会话\存储\代理\SessionHandlerProxy;类ReadOnlyGuestSessionProxy扩展SessionHandlerProxy{私人$用户;公共函数__construct(\ SessionHandlerInterface$处理程序、用户$用户){$这->用户=$用户;父::__construct ($处理程序);}公共函数写($id,$数据){如果($这->用户->isGuest ()) {返回;}返回父::写($id,$数据);}}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。