Sha256: b11c898eec534713c520f5406f963cf08c31de91508013b039280bd1eeb92c49
Contents?: true
Size: 1.42 KB
Versions: 5
Compression:
Stored size: 1.42 KB
Contents
module Castronaut module Models class TicketGrantingTicket < ActiveRecord::Base include Castronaut::Models::Consumeable include Castronaut::Models::Dispenser has_many :service_tickets, :dependent => :destroy before_validation :dispense_ticket, :if => :new_record? validates_presence_of :ticket, :username def self.validate_cookie(ticket_cookie) Castronaut.logger.debug("#{self} - Validating ticket for #{ticket_cookie}") return Castronaut::TicketResult.new(nil, "No ticket granting ticket given", 'warn') if ticket_cookie.nil? ticket_granting_ticket = find_by_ticket(ticket_cookie) if ticket_granting_ticket Castronaut.logger.debug("#{self} -[#{ticket_cookie}] for [#{ticket_granting_ticket.username}] successfully validated.") return Castronaut::TicketResult.new(ticket_granting_ticket, "Your session has expired. Please log in again.", 'warn') if ticket_granting_ticket.expired? else Castronaut.logger.debug("#{self} - [#{ticket_cookie}] was not found in the database.") end Castronaut::TicketResult.new(ticket_granting_ticket) end def self.generate_for(username, client_host) create! :username => username, :client_hostname => client_host end def ticket_prefix "TGC" end def proxies end def to_cookie end end end end
Version data entries
5 entries across 5 versions & 1 rubygems