zachinglis (owner)

Revisions

gist: 12483 Download_button fork
public
Public Clone URL: git://gist.github.com/12483.git
Embed All Files: show embed
Text #
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
## django
 
from django.contrib.auth.models import User
from django.core.validators import email_re
 
class BasicBackend:
    def get_user(self, user_id):
        try:
            return User.objects.get(pk=user_id)
        except User.DoesNotExist:
            return None
 
class EmailBackend(BasicBackend):
    def authenticate(self, username=None, password=None):
        #If username is an email address, then try to pull it up
        if email_re.search(username):
            try:
                user = User.objects.get(email=username)
            except User.DoesNotExist:
                return None
        else:
            #We have a non-email address username we should try username
            try:
                user = User.objects.get(username=username)
            except User.DoesNotExist:
                return None
        if user.check_password(password):
            return user
 
## ruby
 
class User < ActiveRecord::Base
  EMAIL_REGEX = /..../
 
  def self.authenticate(username, password)
    user = EMAIL_REGEX.match(username) ? User.find_by_email(username) : User.find_by_username(username)
    return user if user and user.check_password(password) # return user if user exists and user.check_password.. or return nil
  end
end