##// END OF EJS Templates
Added automatic logout of deactivated/deleted users
Liad Shani -
r1618:9353189b beta
parent child Browse files
Show More
@@ -271,13 +271,11 b' class AuthUser(object):'
271 if self._api_key and self._api_key != self.anonymous_user.api_key:
271 if self._api_key and self._api_key != self.anonymous_user.api_key:
272 #try go get user by api key
272 #try go get user by api key
273 log.debug('Auth User lookup by API KEY %s', self._api_key)
273 log.debug('Auth User lookup by API KEY %s', self._api_key)
274 user_model.fill_data(self, api_key=self._api_key)
274 is_user_loaded = user_model.fill_data(self, api_key=self._api_key)
275 is_user_loaded = True
276 elif self.user_id is not None \
275 elif self.user_id is not None \
277 and self.user_id != self.anonymous_user.user_id:
276 and self.user_id != self.anonymous_user.user_id:
278 log.debug('Auth User lookup by USER ID %s', self.user_id)
277 log.debug('Auth User lookup by USER ID %s', self.user_id)
279 user_model.fill_data(self, user_id=self.user_id)
278 is_user_loaded = user_model.fill_data(self, user_id=self.user_id)
280 is_user_loaded = True
281 elif self.username:
279 elif self.username:
282 log.debug('Auth User lookup by USER NAME %s', self.username)
280 log.debug('Auth User lookup by USER NAME %s', self.username)
283 dbuser = User.get_by_username(self.username)
281 dbuser = User.get_by_username(self.username)
@@ -296,6 +294,8 b' class AuthUser(object):'
296 #then we set this user is logged in
294 #then we set this user is logged in
297 self.is_authenticated = True
295 self.is_authenticated = True
298 else:
296 else:
297 self.user_id = None
298 self.username = None
299 self.is_authenticated = False
299 self.is_authenticated = False
300
300
301 if not self.username:
301 if not self.username:
@@ -50,7 +50,8 b' class BaseController(WSGIController):'
50 username = None
50 username = None
51
51
52 self.rhodecode_user = c.rhodecode_user = AuthUser(user_id, api_key, username)
52 self.rhodecode_user = c.rhodecode_user = AuthUser(user_id, api_key, username)
53 if not self.rhodecode_user.is_authenticated:
53 if not self.rhodecode_user.is_authenticated and \
54 self.rhodecode_user.user_id is not None:
54 self.rhodecode_user.set_authenticated(
55 self.rhodecode_user.set_authenticated(
55 getattr(session.get('rhodecode_user'),
56 getattr(session.get('rhodecode_user'),
56 'is_authenticated', False))
57 'is_authenticated', False))
@@ -243,16 +243,19 b' class UserModel(BaseModel):'
243 else:
243 else:
244 dbuser = self.get(user_id)
244 dbuser = self.get(user_id)
245
245
246 if dbuser is not None:
246 if dbuser is not None and dbuser.active:
247 log.debug('filling %s data', dbuser)
247 log.debug('filling %s data', dbuser)
248 for k, v in dbuser.get_dict().items():
248 for k, v in dbuser.get_dict().items():
249 setattr(auth_user, k, v)
249 setattr(auth_user, k, v)
250 else:
251 return False
250
252
251 except:
253 except:
252 log.error(traceback.format_exc())
254 log.error(traceback.format_exc())
253 auth_user.is_authenticated = False
255 auth_user.is_authenticated = False
256 return False
254
257
255 return auth_user
258 return True
256
259
257 def fill_perms(self, user):
260 def fill_perms(self, user):
258 """
261 """
General Comments 0
You need to be logged in to leave comments. Login now