Fix login for webdav

This commit is contained in:
Cédric Krier committed 2008-03-11 17:14:52 +01:00
1 parent c6d00c88ac
commit 0d7a17c849
2 files changed
+10 -7

No files matched your search

+9 -6
View File
@@ -8,7 +8,7 @@ SESSION_TIMEOUT = 600 #seconds
_USER_CACHE = {}
def login(dbname, loginname, password):
def login(dbname, loginname, password, cache=True):
loginname = loginname.encode('utf-8')
password = password.encode('utf-8')
cursor = pooler.get_db(dbname).cursor()
@@ -19,12 +19,15 @@ def login(dbname, loginname, password):
res = cursor.fetchone()
cursor.close()
if res:
_USER_CACHE.setdefault(dbname, {})
user_id = res[0]
timestamp = time.time()
session = str(random.random())
_USER_CACHE[dbname][user_id] = (timestamp, session)
return (user_id, session)
if cache:
_USER_CACHE.setdefault(dbname, {})
timestamp = time.time()
session = str(random.random())
_USER_CACHE[dbname][user_id] = (timestamp, session)
return (user_id, session)
else:
return user_id
else:
return False
+1 -1
View File
@@ -290,7 +290,7 @@ class WebDAVAuthRequestHandler(AuthServer.BufferedAuthRequestHandler,
dbname = self.path.split('/', 2)[1]
if not dbname:
return 1
USER_ID = security.login(dbname, user, password)
USER_ID = security.login(dbname, user, password, cache=False)
if int(USER_ID):
return 1
return 0