2013-11-28 4 views
1

생성시 저는 store_saltFALSE에 그것이 오류 여기CodeIgniter는 : 새로운 사용자

$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', '', '[email protected]', '\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으로 시도했을 때 오류가 발생하지 않았지만 올바른 암호를 고려하지 않고 사용자가 로그인 할 수 없습니다.

문제를 해결하는 데 도움을 줄 수 있습니까?

답변

1

오류 번호 : 1364은 기본값이 설정되지 않았거나 null 값이 허용되지 않았기 때문에 발생합니다.

소금 필드를 "NOT NULL"에서 "ALLOW NULL"로 변경하십시오.

변경 테이블 사용자 salt varchar (40) null; 이 재설정해야

당신이 소금 필드의 값이없는 레코드를 삽입 할 수 있도록 "NULL을 허용"기본적이다

소금을 사용하는 경우

,

$config['store_salt'] = TRUE; 

그것은 당신의 암호를 변경합니다 암호화 알고리즘 기본 암호 'password'가 기본 salt 인 fbaa5e216d163a02ae630ab1a43372635dd374c0로 변경됩니다.

0

이 'store_salt'설정은 분명히 Ion Auth에 salt 필드에 무언가를 삽입할지 여부를 알려줍니다. 문제는이 필드에 기본값이 없으므로 아무 것도 삽입하지 않는 것입니다. 따라서 필드 정의를 기본값으로 변경하거나 소금을 사용하십시오.

+0

나는 그것이 어떤 가치도 보내지 않는다는 것을 이해했었다. 하지만 염분 기본값을 설정할 수있는 곳보다? ion_auth 설정 파일 또는 어디에? –

+0

IonAuth 사용자가 아닌 아이디어. 귀하가 질문하신 문제는 귀하의 테이블 구조와 관련된 것입니다. – Narf