def login
return unless request.post?
-
- self.current_user = User.authenticate(params[:login], params[:password], servlet_request)
- if logged_in?
- if params[:remember_me] == '1'
- self.current_user.remember_me
- cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }
- end
- redirect_back_or_default(home_url)
+ if params[:password].blank?
+ flash.now[:loginerror] = message('session.flash_notice.empty_password')
else
- flash.now[:loginerror] = message('session.flash_notice.authentication_failed')
+ self.current_user = User.authenticate(params[:login], params[:password], servlet_request)
+ if logged_in?
+ if params[:remember_me] == '1'
+ self.current_user.remember_me
+ cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }
+ end
+ redirect_back_or_default(home_url)
+ else
+ flash.now[:loginerror] = message('session.flash_notice.authentication_failed')
+ end
end
end
end
def authenticate?(username, password, servlet_request)
- details=nil
- if @java_users_provider
- begin
- provider_context = org.sonar.api.security.ExternalUsersProvider::Context.new(username, servlet_request)
- details = @java_users_provider.doGetUserDetails(provider_context)
- rescue Exception => e
- Rails.logger.error("Error from external users provider: #{e.message}")
- @save_password ? fallback(username, password) : false
- else
- if details
- # User exist in external system
- auth(username, password, servlet_request, details)
+ unless password.blank?
+ details=nil
+ if @java_users_provider
+ begin
+ provider_context = org.sonar.api.security.ExternalUsersProvider::Context.new(username, servlet_request)
+ details = @java_users_provider.doGetUserDetails(provider_context)
+ rescue Exception => e
+ Rails.logger.error("Error from external users provider: #{e.message}")
+ @save_password ? fallback(username, password) : false
else
- # No such user in external system
- fallback(username, password)
+ if details
+ # User exist in external system
+ auth(username, password, servlet_request, details)
+ else
+ # No such user in external system
+ fallback(username, password)
+ end
end
+ else
+ # Legacy authenticator
+ auth(username, password, servlet_request, nil)
end
- else
- # Legacy authenticator
- auth(username, password, servlet_request, nil)
end
end