Sophie

Sophie

distrib > Mandriva > 2006.0 > x86_64 > by-pkgid > 4fb2bf23211d5f27ae943c283575a23a > files > 208

ruby-doc-1.8.2-7.5.20060mdk.x86_64.rpm

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