Class: CASinoCore::Processor::SessionDestroyer
- Inherits:
-
CASinoCore::Processor
- Object
- CASinoCore::Processor
- CASinoCore::Processor::SessionDestroyer
- Includes:
- Helper::Logger
- Defined in:
- lib/casino_core/processor/session_destroyer.rb
Overview
The SessionDestroyer processor is used to destroy a ticket-granting ticket.
This feature is not described in the CAS specification so it’s completly optional to implement this on the web application side. It is especially useful in combination with the SessionOverview processor.
Instance Method Summary collapse
-
#process(params = nil, cookies = nil, user_agent = nil) ⇒ Object
This method will call
#ticket_not_foundor#ticket_deletedon the listener.
Methods included from Helper::Logger
Methods inherited from CASinoCore::Processor
Constructor Details
This class inherits a constructor from CASinoCore::Processor
Instance Method Details
#process(params = nil, cookies = nil, user_agent = nil) ⇒ Object
This method will call #ticket_not_found or #ticket_deleted on the listener.
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/casino_core/processor/session_destroyer.rb', line 18 def process(params = nil, = nil, user_agent = nil) params ||= {} ||= {} ticket = CASinoCore::Model::TicketGrantingTicket.where(id: params[:id]).first owner_ticket = CASinoCore::Model::TicketGrantingTicket.where(ticket: [:tgt]).first if ticket.nil? || !ticket.same_user?(owner_ticket) @listener.ticket_not_found else logger.info "Destroying ticket-granting ticket '#{ticket.ticket}'" ticket.destroy @listener.ticket_deleted end end |