Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(34)

Delta Between Two Patch Sets: appengine_django/auth/middleware.py

Issue 908: [issue6] Google's Users API Integration (Closed) SVN Base: http://google-app-engine-django.googlecode.com/svn/trunk/
Left Patch Set: Doc tests Created 3 months, 3 weeks ago
Right Patch Set: DjangoUserModel, better helpers integration for authentication Created 3 months, 3 weeks ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
LEFTRIGHT
1 # Copyright 2008 Google Inc. 1 # Copyright 2008 Google Inc.
2 # 2 #
3 # Licensed under the Apache License, Version 2.0 (the "License"); 3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License. 4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at 5 # You may obtain a copy of the License at
6 # 6 #
7 # http://www.apache.org/licenses/LICENSE-2.0 7 # http://www.apache.org/licenses/LICENSE-2.0
8 # 8 #
9 # Unless required by applicable law or agreed to in writing, software 9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS, 10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and 12 # See the License for the specific language governing permissions and
13 # limitations under the License. 13 # limitations under the License.
14 14
15 from django.contrib.auth.models import AnonymousUser 15 from django.contrib.auth.models import AnonymousUser
16 16
17 from google.appengine.api import users 17 from google.appengine.api import users
18 18
19 from appengine_django.auth.models import DjangoUser 19 from appengine_django.auth.models import DjangoUser
20 20
21 21
22 class LazyUser(object): 22 class LazyUser(object):
23 def __get__(self, request, obj_type=None): 23 def __get__(self, request, obj_type=None):
24 if not hasattr(request, '_cached_user'): 24 if not hasattr(request, '_cached_user'):
25 user = users.get_current_user() 25 user = users.get_current_user()
26 if user: 26 if user:
27 request._cached_user = DjangoUser.get_djangouser_for_user(user) 27 request._cached_user = DjangoUser.get_djangouser_for_user(user)
28 else: 28 else:
29 request._cached_user = AnonymousUser() 29 request._cached_user = AnonymousUser()
30 return request._cached_user 30 return request._cached_user
31 31
32 32
33 class AuthenticationMiddleware(object): 33 class AuthenticationMiddleware(object):
34 def process_request(self, request): 34 def process_request(self, request):
35 request.__class__.user = LazyUser() 35 request.__class__.user = LazyUser()
36 return None 36 return None
LEFTRIGHT

Powered by Google App Engine
This is Rietveld r305