Class: HeimdallAuth::AuthenticationChecker

Inherits:
Object
  • Object
show all
Includes:
AuthenticationAdditions
Defined in:
lib/heimdall_auth/route_constraint.rb

Instance Method Summary collapse

Methods included from AuthenticationAdditions

#current_ability, #current_access_token, #current_environment, #current_user, #get_user_from_auth_server, #storable_location?, #store_location_in_session, #user_signed_in?

Constructor Details

#initialize(request) ⇒ AuthenticationChecker

Returns a new instance of AuthenticationChecker.



6
7
8
# File 'lib/heimdall_auth/route_constraint.rb', line 6

def initialize(request)
  @request = request
end

Instance Method Details

#can?(action, resource) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/heimdall_auth/route_constraint.rb', line 18

def can?(action, resource)
  store_location_in_session
  if current_user
    if current_ability.can?(action, resource)
      return true
    else
      session[:last_url] = request.base_url #prevent a redirection loop if users do not have enough rights. So send her to the base_url
      return false
    end
  else
    return false
  end
end

#requestObject

This allowes the methods in AuthenticationAdditions to use to usually global request



10
11
12
# File 'lib/heimdall_auth/route_constraint.rb', line 10

def request #This allowes the methods in AuthenticationAdditions to use to usually global request
  @request
end

#sessionObject

This allowes the methods in AuthenticationAdditions to use to usually global request



14
15
16
# File 'lib/heimdall_auth/route_constraint.rb', line 14

def session #This allowes the methods in AuthenticationAdditions to use to usually global request
  @request.session
end