2009-09-25 6 views
2

Authlogic을 구현하려고합니다. 등록은 .. 내 데이터베이스에 필요한 모든 정보를 입력합니다, 괜찮Ruby on Rails Authlogic 비밀번호가 유효하지 않습니다.

..하지만 난에 로그인 할 때, 그것은 나에게 오류 제공 : 이 유효입니다

1 error prohibited this user session from being saved

There were problems with the following fields:

Password is not valid

내 비밀번호를. 무슨 일이 일어나고 있는지 잘 모르겠습니다. 어떤 아이디어? 사용자 모델에서

+1

이것은 내게 들리 겠지만 내 기억은 방해받지 않습니다 ... 아마 당신은 로그인과 컨트롤러/모델/뷰를 게시 할 수 있습니까? – SingleShot

+0

두 번째 SingleShot의 진술. – khelll

+0

비밀번호가 유효하다는 것을 어떻게 확신합니까? 분명히 그렇지 않습니다. 즉, 일부 유효성 검사는 오류를 추가하는 것입니다. authlogic에 내장 된 기본 유효성 검사를 알고 있습니까? –

답변

4

valid_password?(attempted_password, check_against_database = check_passwords_against_database?) 

을 시도 할 수 있습니다, 나는 평안한 인증에서 마이그레이션 된 때문이었다. 문제 : 안정적인 인증을 사용하면 password-salt 및 crypted-password에 40 자의 상한선이 적용됩니다. authlogic에서 생성 된 해시가 그보다 큽니다.

class RemovePasswordSaltCap < ActiveRecord::Migration 
    def self.up 
    change_column :users, :password_salt, :string, :limit => nil 
    change_column :users, :crypted_password, :string, :limit => nil 
    end 
end 

고급 설명서에서이 답변을 찾으십시오.

the fine manual

+0

BEAUTIFUL! 나는 이걸로 몇 시간 동안 고생했다 !! 감사 :) – Gazza

1

,이 시도 :

class User < ActiveRecord::Base 

    acts_as_authentic do |c| 
    c.validate_password_field = false 
    end 

end 

그런 다음 다시 로그인하려고합니다. 그게 작동하면 authlogic 기본 유효성 검사가 당신을 트립하고 있음을 알게 될 것입니다.

또한 저도 같은 문제를 겪고 콘솔

0

저도 같은 오류가되었고, 내 문제는 내가 이전에 편안 인증에 사용되는 REST_AUTH_SITE_KEY 키 값을 사용하지 않은 것이 었습니다.

나는 키 값을 추가하고 그래서 암호가 파손되는 경우가 될 수있는 기본 crypto_provider이 SCryptSha512 변경된 authlogic로 업그레이드하면 모든

0

:) 작동합니다. authlogic을 확인하십시오 readme