Browse Source

Merged r9798 to r9801 from trunk.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@9803 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/1.4.4
Jean-Philippe Lang 12 years ago
parent
commit
fe1a152e02
2 changed files with 9 additions and 6 deletions
  1. 2
    2
      app/controllers/application_controller.rb
  2. 7
    4
      app/models/user.rb

+ 2
- 2
app/controllers/application_controller.rb View File

@@ -458,9 +458,9 @@ class ApplicationController < ActionController::Base
# Returns the API key present in the request
def api_key_from_request
if params[:key].present?
params[:key]
params[:key].to_s
elsif request.headers["X-Redmine-API-Key"].present?
request.headers["X-Redmine-API-Key"]
request.headers["X-Redmine-API-Key"].to_s
end
end


+ 7
- 4
app/models/user.rb View File

@@ -130,8 +130,11 @@ class User < Principal

# Returns the user that matches provided login and password, or nil
def self.try_to_login(login, password)
login = login.to_s
password = password.to_s

# Make sure no one can sign in with an empty password
return nil if password.to_s.empty?
return nil if password.empty?
user = find_by_login(login)
if user
# user is already in local database
@@ -164,7 +167,7 @@ class User < Principal

# Returns the user who matches the given autologin +key+ or nil
def self.try_to_autologin(key)
tokens = Token.find_all_by_action_and_value('autologin', key)
tokens = Token.find_all_by_action_and_value('autologin', key.to_s)
# Make sure there's only 1 token that matches the key
if tokens.size == 1
token = tokens.first
@@ -338,12 +341,12 @@ class User < Principal
end

def self.find_by_rss_key(key)
token = Token.find_by_value(key)
token = Token.find_by_action_and_value('feeds', key.to_s)
token && token.user.active? ? token.user : nil
end

def self.find_by_api_key(key)
token = Token.find_by_action_and_value('api', key)
token = Token.find_by_action_and_value('api', key.to_s)
token && token.user.active? ? token.user : nil
end


Loading…
Cancel
Save