Module: AuthlogicRadius::Session::Methods

Defined in:
lib/authlogic_radius/session.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



106
107
108
109
110
111
112
113
# File 'lib/authlogic_radius/session.rb', line 106

def self.included(klass)
  klass.class_eval do
    attr_accessor :radius_login
    attr_accessor :radius_password
    attr_accessor :radius_domain
    validate :validate_by_radius, :if => :authenticating_with_radius?
  end
end

Instance Method Details

#credentialsObject

Hooks into credentials to print out meaningful credentials for RADIUS authentication.



116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/authlogic_radius/session.rb', line 116

def credentials
  if authenticating_with_radius?
    details = {}
    details[:radius_login] = send()
    details[:radius_host] = radius_host
    details[:radius_password] = "<protected>"
    details[:radius_shared_secret] = "<protected>"
    details
  else
    super
  end
end

#credentials=(value) ⇒ Object

Hooks into credentials so that you can pass an :radius_login and :radius_password key.



130
131
132
133
134
135
136
137
138
139
140
141
142
# File 'lib/authlogic_radius/session.rb', line 130

def credentials=(value)
  super
  values = value.is_a?(Array) ? value : [value]
  hash = values.first.is_a?(Hash) ? values.first.with_indifferent_access : nil
  if !hash.nil?
    if hash.key?(:radius_login)
      (, domain) = hash[:radius_login].split('@')
      self.radius_domain = domain || auto_register_domain
      self. = 
    end
    self.radius_password = hash[:radius_password] if hash.key?(:radius_password)
  end
end