锂的所有行中的锂,会话

时间:2012-02-05 11:22:42

标签: php cookies php-5.3 session-cookies lithium

目前登录后,Lithium会在会话和cookie中存储来自用户表的所有行,如密码,哈希等。如何删除(不允许存储)密码和哈希等信息?

3 个答案:

答案 0 :(得分:2)

Session类存储您告诉它的内容!在Auth :: check完成后,您应该只在cookie中存储会话标识符和/或绝对必要的数据。另外,请确保使用锂(AES)提供的加密功能。

如需更详细的帮助,请发布您的登录控制器和所有相应的型号/过滤器。

答案 1 :(得分:0)

将选项传递给Auth::check也会传递给适配器(加上一些额外内容) - 为此我假设你正在使用Form适用于Auth类的适配器。

执行检查时尝试执行此操作:Auth::check('config', $data, array('fields' => array('fields', 'you', 'want'))

这里的关键是我们在最后用fields键添加的数组,这将传递给Form适配器,它接受这些选项并使用它们来查询模型对于匹配的用户。通过明确告诉它返回哪些字段,它只会将它们传递回Auth类以便存储。

答案 2 :(得分:0)

由于this commit您可以将选项'persist' => array('field1','..')传递给Auth::check,或者在引导会话配置中将它们设置为默认值,因此只能存储指定的字段。

所以你要么在bootstrap / session.php

中设置它
Auth::config(array(
    'user' => array(
        'adapter' => 'Form',
        'session' => array(
            'persist' => array('_id','username')
        ),
        'model' => 'Users'
    )
));

或者在调用Auth::check()时定义字段 - 这将覆盖上面配置中的所有内容!

Auth::check('user', $this->request, array(
                'persist' => array('username','email')
            ))

注意:如果没有明确定义,默认情况下永远不会存储密码。