blob: d937e1e14f13b6c9d2a87319e9b74ba199740cfa (
plain)
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
|
from django.contrib.auth.models import User
from django.contrib.auth.backends import ModelBackend
import psycopg2
class AuthBackend(ModelBackend):
def authenticate(self, username=None, password=None):
conn = psycopg2.connect('host=wwwmaster.postgresql.org dbname=186_www user=auth_svc password=g7y3m9u8 sslmode=require')
try:
conn.set_client_encoding('UNICODE')
cur = conn.cursor()
cur.execute('SELECT * FROM community_login(%s,%s)', (username, password))
row = cur.fetchall()[0]
finally:
conn.close()
if row[1] == 1:
try:
user = User.objects.get(username=username)
except User.DoesNotExist:
# User doesn't exist yet
user = User(username=username, password='setmanually', email=row[3], first_name=row[2])
user.save()
return user
return None
def get_user(self, user_id):
try:
return User.objects.get(pk=user_id)
except User.DoesNotExist:
return None
|