Description:
update heartbeat add try-to-login-from-other-ip loggin (by printing to stdout)
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r539:c49187a88c77 - - 2 files changed: 2 inserted, 1 deleted

@@ -60,24 +60,25
60 end
60 end
61 end
61 end
62 return true
62 return true
63 end
63 end
64
64
65 def authenticate_by_ip_address
65 def authenticate_by_ip_address
66 #this assume that we have already authenticate normally
66 #this assume that we have already authenticate normally
67 unless GraderConfiguration[MULTIPLE_IP_LOGIN_CONF_KEY]
67 unless GraderConfiguration[MULTIPLE_IP_LOGIN_CONF_KEY]
68 user = User.find(session[:user_id])
68 user = User.find(session[:user_id])
69 if (not user.admin? and user.last_ip and user.last_ip != request.remote_ip)
69 if (not user.admin? and user.last_ip and user.last_ip != request.remote_ip)
70 flash[:notice] = "You cannot use the system from #{request.remote_ip}. Your last ip is #{user.last_ip}"
70 flash[:notice] = "You cannot use the system from #{request.remote_ip}. Your last ip is #{user.last_ip}"
71 redirect_to :controller => 'main', :action => 'login'
71 redirect_to :controller => 'main', :action => 'login'
72 + puts "CHEAT: user #{user.login} tried to login from '#{request.remote_ip}' while last ip is '#{user.last_ip}' at #{Time.zone.now}"
72 return false
73 return false
73 end
74 end
74 unless user.last_ip
75 unless user.last_ip
75 user.last_ip = request.remote_ip
76 user.last_ip = request.remote_ip
76 user.save
77 user.save
77 end
78 end
78 end
79 end
79 return true
80 return true
80 end
81 end
81
82
82 def authorization
83 def authorization
83 return false unless authenticate
84 return false unless authenticate
@@ -17,15 +17,15
17 # end
17 # end
18 # hb.touch
18 # hb.touch
19 #else
19 #else
20 # HeartBeat.creae(user_id: @user.id, ip_address: request.remote_ip)
20 # HeartBeat.creae(user_id: @user.id, ip_address: request.remote_ip)
21 #end
21 #end
22 HeartBeat.create(user_id: @user.id, ip_address: request.remote_ip, status: params[:status])
22 HeartBeat.create(user_id: @user.id, ip_address: request.remote_ip, status: params[:status])
23
23
24 render text: (GraderConfiguration['right.heartbeat_response'] || 'OK')
24 render text: (GraderConfiguration['right.heartbeat_response'] || 'OK')
25 end
25 end
26
26
27 def index
27 def index
28 @hb = HeartBeat.where("updated_at >= ?",Time.zone.now-2.hours).includes(:user).order(:user_id).all
28 @hb = HeartBeat.where("updated_at >= ?",Time.zone.now-2.hours).includes(:user).order(:user_id).all
29 - @num = HeartBeat.where("updated_at >= ?",Time.zone.now-5.minutes).count
29 + @num = HeartBeat.where("updated_at >= ?",Time.zone.now-5.minutes).count(:user_id,distinct: true)
30 end
30 end
31 end
31 end
You need to be logged in to leave comments. Login now