module LatoCore::Interface::Authentication
This module contains a list of functions used to authenticate a superuser.
Public Instance Methods
core__check_superuser_session_valid()
click to toggle source
This function tells if the current session is valid.
# File lib/lato_core/interfaces/authentication.rb, line 20 def core__check_superuser_session_valid decoded_token = core__decode_token(session[:lato_core__superuser_session_token]) return false unless decoded_token true end
core__create_superuser_session(superuser, lifetime)
click to toggle source
This function set a cookie to create the superuser session.
# File lib/lato_core/interfaces/authentication.rb, line 9 def core__create_superuser_session(superuser, lifetime) token = core__encode_token(lifetime, superuser_id: superuser.id) session[:lato_core__superuser_session_token] = token end
core__destroy_superuser_session()
click to toggle source
This function delete a cookie to destroy the superuser session.
# File lib/lato_core/interfaces/authentication.rb, line 15 def core__destroy_superuser_session session[:lato_core__superuser_session_token] = nil end
core__manage_superuser_session(permission = nil)
click to toggle source
This function check the session for a superuser and set the variable @core__current_superuser. If session is not valid the user should be redirect to login path.
# File lib/lato_core/interfaces/authentication.rb, line 28 def core__manage_superuser_session(permission = nil) decoded_token = core__decode_token(session[:lato_core__superuser_session_token]) if decoded_token @core__current_superuser = LatoCore::Superuser.find_by(id: decoded_token[:superuser_id]) unless @core__current_superuser core__destroy_superuser_session redirect_to lato_core.login_path end if permission && @core__current_superuser.permission < permission flash[:danger] = 'PERMISSION ERROR' redirect_to lato_core.root_path end else redirect_to lato_core.login_path end end