Sha256: 104cf8eaf9c7914270d834b8955901b24bab6b4a5a8e856aef1a7d4768d7c9af

Contents?: true

Size: 951 Bytes

Versions: 9

Compression:

Stored size: 951 Bytes

Contents

module Authpds
  module Session
    module Authentication
      def authenticated?
        authenticate
      end
      protected :authenticated?

      def authenticate
        # Don't authenticate if the system is inaccessible.
        # If the application session id is nil, skip this check.
        return false if controller.cookies["#{calling_system}_inaccessible".to_sym] == session_id unless session_id.nil?
        # If PDS session already established, authenticate
        return true unless pds_user.nil?
        # Establish a PDS session if the user logged in via an alternative SSO mechanism and this isn't being called after login
        controller.redirect_to sso_url({
          :return_url => controller.request.url }) if valid_sso_session? unless controller.params["action"] =="validate" or controller.performed?
        # Otherwise, do not authenticate
        return false
      end
      protected :authenticate
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
authpds-0.2.9 lib/authpds/session/authentication.rb
authpds-0.2.8 lib/authpds/session/authentication.rb
authpds-0.2.7 lib/authpds/session/authentication.rb
authpds-0.2.6 lib/authpds/session/authentication.rb
authpds-0.2.5 lib/authpds/session/authentication.rb
authpds-0.2.4 lib/authpds/session/authentication.rb
authpds-0.2.3 lib/authpds/session/authentication.rb
authpds-0.2.2 lib/authpds/session/authentication.rb
authpds-0.2.1 lib/authpds/session/authentication.rb