Sha256: 48fc27f4e4089e4947c4ba0cb7fcbc7244da6badc3782adaabf8384aa37aa553

Contents?: true

Size: 671 Bytes

Versions: 5

Compression:

Stored size: 671 Bytes

Contents

# encoding: ASCII-8BIT
class Authmgr
  def initialize
    @users = {
      'NaHi' => 'passwd',
      'HiNa' => 'wspass'
    }
    @sessions = {}
  end

  def login(userid, passwd)
    userid and passwd and @users[userid] == passwd
  end

  # returns userid
  def auth(sessionid)
    @sessions[sessionid]
  end

  def create_session(userid)
    while true
      key = create_sessionkey
      break unless @sessions[key]
    end
    @sessions[key] = userid
    key
  end

  def get_session(userid)
    @sessions.index(userid)
  end

  def destroy_session(sessionkey)
    @sessions.delete(sessionkey)
  end

private

  def create_sessionkey
    Time.now.usec.to_s
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
soap5r-2.0.3 sample/soapheader/authheader/authmgr.rb
soap5r-2.0.2 sample/soapheader/authheader/authmgr.rb
soap5r-2.0.1 sample/soapheader/authheader/authmgr.rb
soap5r-2.0.0 sample/soapheader/authheader/authmgr.rb
soap5r-2.0.0.20120130130121 sample/soapheader/authheader/authmgr.rb