1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
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
|