CakePHP: 用户输入密码的自动加密处理

来源:互联网 发布:算法大数阶乘问题 编辑:程序博客网 时间:2024/05/15 07:11

如果在控制器中比如users_controller中包含了Auth组件,那么用户输入的密码会被自动加密处理。且支持多种加密方式。

比如如果你希望密码以md5加密,那么可以在beforeFilter中调用

Security::setHash('md5');


如果希望使用邮件而不是用户名做登录验证,那么可以设置Auth的字段如下:

                $this->Auth->fields = array(
                    'username' => 'email',
                    'password' => 'password'
                );


在使用邮件注册时,你仍然需要提供username(至少需要提供一个隐藏的username字段data['User']['username'],

否则你会遇到密码没有被自动加密的情况。这是因为Auth组件在启动时对username做了判断,如果未提供username,

Auth组件会忽略hashPasswords的自动处理。


iefreer

原创粉丝点击