Sha256: 2380c6a1be554b80e909c531a3d02133c0ca3d15a7b1d287ad6770ec383a06ef

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

# Authenticating 是身份鉴定,存储访问者(visitor)和信任状(credential)之间的关系。
# flag_code 有4个枚举值:RQRD (required)、SFCT (sufficient)、RQST (requisite)、OPTN (optional)。
# 各枚举值的含义见: http://docs.oracle.com/javase/8/docs/technotes/guides/security/jaas/JAASRefGuide.html 。

class Unidom::Visitor::Authenticating < ActiveRecord::Base

  self.table_name = 'unidom_authenticatings'

  belongs_to :visitor,    polymorphic: true
  belongs_to :credential, polymorphic: true

  scope :visitor_is,    ->(visitor)    { where visitor:    visitor    }
  scope :credential_is, ->(credential) { where credential: credential }

  scope :visitor_type_is,    ->(visitor_type)    { where visitor_type:    visitor_type    }
  scope :credential_type_is, ->(credential_type) { where credential_type: credential_type }

  include Unidom::Common::Concerns::ModelExtension

  def self.authenticate(visitor, credential)
    self.create! visitor: visitor, credential: credential, opened_at: Time.now
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
unidom-visitor-0.3 app/models/unidom/visitor/authenticating.rb
unidom-visitor-0.2 app/models/unidom/visitor/authenticating.rb