2011-05-09 15:22:41 -04:00
|
|
|
#--
|
2003-07-23 12:51:36 -04:00
|
|
|
# httpauth/userdb.rb -- UserDB mix-in module.
|
|
|
|
#
|
|
|
|
# Author: IPR -- Internet Programming with Ruby -- writers
|
|
|
|
# Copyright (c) 2003 Internet Programming with Ruby writers. All rights
|
|
|
|
# reserved.
|
|
|
|
#
|
|
|
|
# $IPR: userdb.rb,v 1.2 2003/02/20 07:15:48 gotoyuzo Exp $
|
|
|
|
|
|
|
|
module WEBrick
|
|
|
|
module HTTPAuth
|
2011-05-10 19:37:43 -04:00
|
|
|
|
|
|
|
##
|
|
|
|
# User database mixin for HTTPAuth. This mixin dispatches user record
|
|
|
|
# access to the underlying auth_type for this database.
|
|
|
|
|
2003-07-23 12:51:36 -04:00
|
|
|
module UserDB
|
2011-05-10 19:37:43 -04:00
|
|
|
|
|
|
|
##
|
|
|
|
# The authentication type.
|
|
|
|
#
|
|
|
|
# WEBrick::HTTPAuth::BasicAuth or WEBrick::HTTPAuth::DigestAuth are
|
|
|
|
# built-in.
|
|
|
|
|
|
|
|
attr_accessor :auth_type
|
|
|
|
|
|
|
|
##
|
|
|
|
# Creates an obscured password in +realm+ with +user+ and +password+
|
|
|
|
# using the auth_type of this database.
|
2003-07-23 12:51:36 -04:00
|
|
|
|
|
|
|
def make_passwd(realm, user, pass)
|
|
|
|
@auth_type::make_passwd(realm, user, pass)
|
|
|
|
end
|
|
|
|
|
2011-05-10 19:37:43 -04:00
|
|
|
##
|
|
|
|
# Sets a password in +realm+ with +user+ and +password+ for the
|
|
|
|
# auth_type of this database.
|
|
|
|
|
2003-07-23 12:51:36 -04:00
|
|
|
def set_passwd(realm, user, pass)
|
|
|
|
self[user] = pass
|
2009-03-05 22:56:38 -05:00
|
|
|
end
|
2003-07-23 12:51:36 -04:00
|
|
|
|
2011-05-10 19:37:43 -04:00
|
|
|
##
|
|
|
|
# Retrieves a password in +realm+ for +user+ for the auth_type of this
|
|
|
|
# database. +reload_db+ is a dummy value.
|
|
|
|
|
2003-07-23 12:51:36 -04:00
|
|
|
def get_passwd(realm, user, reload_db=false)
|
|
|
|
make_passwd(realm, user, self[user])
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|