Class: AuthController
Instance Attribute Summary
#req, #res
Instance Method Summary
collapse
#boolean_param, #csrf_token, #delete_all_images_from_content, #delete_from_storage, #initialize, #params, #redirect_to, #render, #session, #validate!
Instance Method Details
#login ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'app/controllers/auth_controller.rb', line 14
def login
username = req.params['username']
password = req.params['password']
user = User.authenticate(username, password)
if user
session['user_id'] = user.id
session['username'] = user.username
session['last_active_at'] = Time.now.to_i
redirect_to '/dashboard'
else
render 'login', title: 'Login - One-For-All', error: 'Invalid credentials'
end
end
|
#logout ⇒ Object
31
32
33
34
|
# File 'app/controllers/auth_controller.rb', line 31
def logout
['user_id', :user_id, 'username', :username, 'last_active_at', :last_active_at].each { |k| session.delete(k) }
redirect_to '/login'
end
|
#show_login ⇒ Object
4
5
6
7
8
9
10
11
12
|
# File 'app/controllers/auth_controller.rb', line 4
def show_login
if session['user_id']
redirect_to '/dashboard'
return
end
reason = req.params['reason']
error = reason == 'expired' ? 'Your session has expired. Please log in again.' : nil
render 'login', title: 'Login - One-For-All', error: error
end
|