|
|
|
@ -70,7 +70,6 @@ class AccountController < ApplicationController
|
|
|
|
|
login = params[:username].strip
|
|
|
|
|
password = params[:password]
|
|
|
|
|
# 验证用户名密码是否正确
|
|
|
|
|
@user, last_login_on = User.try_to_login(login, password)
|
|
|
|
|
if @user.present?
|
|
|
|
|
Rails.logger.info("successful_authentication, user is #{@user.try(:login)}")
|
|
|
|
|
# 登录重置session;重新开启session有效时间等
|
|
|
|
@ -1312,6 +1311,17 @@ class AccountController < ApplicationController
|
|
|
|
|
|
|
|
|
|
def password_authentication
|
|
|
|
|
user, last_login_on = User.try_to_login(params[:username], params[:password])
|
|
|
|
|
logger.info("##############user_id##{user}")
|
|
|
|
|
if LocalSetting.first.try(:exam) && !user.admin?
|
|
|
|
|
if user.login_ip_info
|
|
|
|
|
if request.remote_ip != user.login_ip_info.remote_ip
|
|
|
|
|
ip_change_limit_login
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
LoginIpInfo.create(user_id:user.id, remote_ip: request.remote_ip)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
Rails.logger.info("password_authentication: params[:username] is #{params[:username]}, user is #{user}")
|
|
|
|
|
|
|
|
|
|
if user.nil?
|
|
|
|
@ -1463,6 +1473,13 @@ class AccountController < ApplicationController
|
|
|
|
|
render :action => 'register'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def ip_change_limit_login
|
|
|
|
|
logger.warn "Failed login for '#{params[:username]}' from #{request.remote_ip} at #{Time.now.utc}"
|
|
|
|
|
flash[:error] = "考试期间不能切换IP登录"
|
|
|
|
|
redirect_to signin_url
|
|
|
|
|
#render signin_path
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def invalid_credentials
|
|
|
|
|
logger.warn "Failed login for '#{params[:username]}' from #{request.remote_ip} at #{Time.now.utc}"
|
|
|
|
|
flash[:error] = l(:notice_account_invalid_creditentials)
|
|
|
|
|