2012-01-03 6 views
0

저의 삶에서 나는이 일을 할 수 없습니다. 각 계정에 고유 한 하위 도메인이있는 응용 프로그램이 있습니다. 이 계정 내에서 사용자는 고유 한 사용자 이름을 갖지만 사용자 이름은 응용 프로그램 전체에서 고유하지 않을 수 있습니다.계정에 고유 한 사용자 이름으로 Authlogic에서 사용자를 인증하는 방법

def create 
    @user_session = @current_account.user_sessions.new(params[:user_session]) 
    @user = @current_account.users.find_by_username_or_email(params[:user_session][:username]) 
    if @user_session.save 
    flash[:notice] = "Welcome back #{current_user.first_name}" 
    if @user_session.user.account.is_new? && [email protected]_account.stop_wizard? 
     redirect_to :controller => "site", :action => "welcome", :id => "one" 
    else 
     redirect_to dashboard_url 
    end 
    else 
    render :action => :new 
    end 
end 

이는 현재 사용중인 계정으로 범위가 지정된 사용자 이름에 대해 데이터베이스 내에서 사용자 이름의 첫 번째 인스턴스에 대해 유효성을 검사하지 때문에 if @user_session.save 줄에 실패 할 것으로 보인다.

모든 조언을 주시면 감사하겠습니다.

감사

로빈

+0

지정한 도메인 내부의 고유성을 검사하는 사용자 정의 유효성 검사기를 작성하려 했습니까? http://www.paulsturgess.co.uk/articles/33-how-to-write-custom-validation-in-ruby-on-rails – Tigraine

+0

Authlogic이 아닌 하위 도메인 내에서의 고유성 보장에 문제가 없습니다. 예를 들어 사용자 세부 정보를 인증 할 때 하위 도메인 제약 조건을 존중하지 않는 것처럼 보입니다. 사용자 세션이 username robinfisher로 생성되면 관련 계정으로 범위가 지정된 해당 사용자 이름을 찾아야합니다. –

+0

아하 .. .. 나는 당신의 질문을 잘못 읽고 .. :) – Tigraine

답변

1

with scope 옵션 내 세션을 생성 대답했다.