-
Notifications
You must be signed in to change notification settings - Fork 1
/
users.py
45 lines (36 loc) · 1.16 KB
/
users.py
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
42
43
44
45
import hashlib
from flask.ext.login import UserMixin
sha1 = lambda p: hashlib.sha1(p).hexdigest()
class UserWrapper(UserMixin):
def __init__(self, name, id, active=True):
self.name = name
self.id = name
self.active = active
def is_active(self):
# Here you should write whatever the code is
# that checks the database if your user is active
return self.active
def is_anonymous(self):
return False
def is_authenticated(self):
return True
def User(username, password, profile={}):
return dict(username=username,
password=sha1(password),
profile=profile)
class Realm(object):
def __init__(self, name):
self.name = name
self.users = {}
def add_user(self, user):
username = user['username']
password = user['password']
self.users[username] = user
return user
def authenticate(self, username, password):
if not username in self.users:
return None
realm_user = self.users[username]
if realm_user['password'] == sha1(password):
return True
return False