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
|
def allow_access(environ, host):
print('HOST', host, environ['REQUEST_URI'])
return True
def check_password(environ, user, password):
print('USER', user, environ['REQUEST_URI'])
if user == 'spy':
if password == 'secret':
return True
return False
elif user == 'witness':
if password == 'secret':
return 'protected'
return False
return None
import hashlib
def get_realm_hash(environ, user, realm):
print('USER', user, environ['REQUEST_URI'])
if user == 'spy':
value = hashlib.md5()
# user:realm:password
input = '%s:%s:%s' % (user, realm, 'secret')
if not isinstance(input, bytes):
input = input.encode('UTF-8')
value.update(input)
hash = value.hexdigest()
return hash
return None
def groups_for_user(environ, user):
print('GROUP', user, environ['REQUEST_URI'])
if user == 'spy':
return ['secret-agents']
return ['']
|