Files
modoboa/lib/authbackends.py
T
Antoine Nguyen 6f182d7850 * No more code inside lib/__init__.py
* Fixed a circular import raised only when using commands like 'manage.py syncdb'
2011-08-25 17:22:37 +02:00

30 lines
808 B
Python

from django.contrib.auth.models import User
from modoboa.admin.models import Mailbox
from modoboa.auth.lib import _check_password
class SimpleBackend:
supports_object_permissions = False
supports_anonymous_user = False
supports_inactive_user = False
def authenticate(self, username=None, password=None):
try:
user = User.objects.get(username=username)
except User.DoesNotExist:
return None
try:
mb = user.mailbox_set.all()[0]
except Exception:
return None
if not _check_password(password, mb.password):
return None
return user
def get_user(self, user_id):
try:
return User.objects.get(pk=user_id)
except User.DoesNotExist:
return None