当我尝试使用store_salt
创建FALSE
的用户时,它会给出以下错误
$config['salt_length'] = 10;
$config['store_salt'] = FALSE;
这是错误
Error Number: 1364
Field 'salt' doesn't have a default value
INSERT INTO `users` (`first_name`, `last_name`, `company`, `phone`, `username`, `password`, `email`, `ip_address`, `created_on`, `last_login`, `active`) VALUES ('xxx', 'yyy', 'zzz', '466', 'xxx.yyy', '', 'xxx@yyy.com', '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', 1385641604, 1385641604, 1)
Filename: C:\xampp\htdocs\atlas-dev\system\database\DB_driver.php
Line Number: 330
当我尝试使用store_sal
到TRUE
时,它没有给出错误,但没有考虑密码正确且用户无法登录。
你能帮忙解决这个问题吗?
答案 0 :(得分:1)
错误号:1364 最有可能是由于默认未设置或不允许空值。
将盐场从“NOT NULL”更改为“ALLOW NULL”。
ALTER TABLE用户MODIFY salt varchar(40)null;
这应该将其默认值重置为“ALLOW NULL”,允许您插入没有salt字段值的记录
如果使用盐,
$config['store_salt'] = TRUE;
它将更改您的密码加密算法, 默认密码,'密码',更改为 fbaa5e216d163a02ae630ab1a43372635dd374c0,默认盐。
答案 1 :(得分:0)
这个'store_salt'设置显然告诉Ion Auth是否在salt
字段中插入内容。问题是该字段没有默认值,并且您没有在其中插入任何内容。
因此,要么将字段定义更改为具有默认值,要么使用salt。