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 по-видимому, не учитывает ограничение поддомена при аутентификации деталей пользователя, например когда пользовательский сеанс создается с помощью имени пользователя robinfisher, он должен искать пользователя с таким именем пользователя, которое относится к соответствующей учетной записи. –

+0

А-а-а-а--й .. Я неправильно понял ваш вопрос .. :) – Tigraine

ответ

1

with scope вариант при создании моей сессии был ответ.

 Смежные вопросы

  • Нет связанных вопросов^_^