Для жизни меня я не могу заставить это работать. У меня есть приложение, в котором каждая учетная запись имеет уникальный поддомен. Внутри этой учетной записи пользователи имеют уникальное имя пользователя, но имя пользователя не может быть уникальным для всего приложения.Как аутентифицировать пользователей в 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
линии, потому что он проверяет против первого экземпляра имени пользователя в базе данных, а не против того имени пользователя, с правами на текущий счет.
Любые советы будут оценены.
Благодаря
Робин
Вы пробовали просто написать специальный валидатор, который проверяет уникальность внутри указанного домена? http://www.paulsturgess.co.uk/articles/33-how-to-write-custom-validation-in-ruby-on-rails – Tigraine
У меня нет проблем с обеспечением уникальности внутри субдомена, а Authlogic по-видимому, не учитывает ограничение поддомена при аутентификации деталей пользователя, например когда пользовательский сеанс создается с помощью имени пользователя robinfisher, он должен искать пользователя с таким именем пользователя, которое относится к соответствующей учетной записи. –
А-а-а-а--й .. Я неправильно понял ваш вопрос .. :) – Tigraine