사용자 유형에 따라 authentication_keys 구성을 조건부로 만들 수있는 방법이 있습니까?레일스 조건부 인증 키
예를 들어 내 사용자 모델에는 비트 마스크 속성의 값으로 정의 된 두 명의 사용자, 표준 사용자 및 학생이 있습니다. 나는 username과 school_id를 기반으로 학생을 인증하고 싶습니다. 표준 사용자는 school_id 값을 가질 필요가 없습니다. 이를 위해 저는 학생과 일반 사용자를위한 두 종류의 로그인 화면이 있습니다. 학생 로그인 화면에는 학교에 인증 된 숨겨진 school_id 필드가 있습니다. 내 유증 구성 파일에서
나는이 :
config.authentication_keys = [ :username, :school_id ]
그러나 표준 사용자가 로그인 할 수없는이 설정으로, 내 생각 엔 모든 사용자가 인증되고있는 것이이 school_id을 기대하는 점이다. 인증 키를 조건부로 만들 수 있습니까? 또는 school_id에 allow_blank 옵션을 지정 하시겠습니까? 표준 사용자와 학생을 같은 모델로 유지할 수 있기를 원합니다.
호세 야 - 그것은 그들에게 다른 모델 모두 내부에 배치하는 것이 필요하다? 현재이 둘은 사용자로 간주되며 cancan 인증을 통해 구별됩니다. – Noz
예, 다른 모델이어야합니다. –
내가 devise 3.2.2를 사용하고 있지만 답변이 나를 위해 작동하지 않는다 :-( 내 앱에 : 클래스 AdminUser [: email] end –
MarkP