18
18
# Module: authenticate
19
19
# Author: Matt Giuca
22
22
# Provides a mechanism for authenticating a username and password, and
23
23
# returning a yes/no response.
27
25
def authenticate(username, password):
28
26
"""Determines whether a particular username/password combination is
29
valid. The password is in cleartext.
31
Returns None if failed to authenticate.
32
Returns a User object containing the user's details on success.
36
# Just authenticate against the DB at the moment.
37
# Later we will provide other auth options such as LDAP.
27
valid. Returns True or False. The password is in cleartext."""
39
29
# WARNING: Both username and password may contain any characters, and must
40
30
# be sanitized within this function.
41
# (Not SQL-sanitized, just sanitized to our particular constraints).
43
# Spawn a DB object just for making this call.
44
# (This should not spawn a DB connection on each page reload, only when
45
# there is no session object to begin with).
46
dbconn = common.db.DB()
48
if not dbconn.user_authenticate(username, password):
50
return dbconn.get_user(username)
31
# TEMP: Just allow any user to log in
33
## TEMP: Just a hardcoded login
34
#return username == 'user' and password == 'pass'