Fixed #28713 -- Prevented ModelBackend.get_all_permissions() from mutating get_user_permissions().

This commit is contained in:
Yuri Kaszubowski Lopes 2017-10-15 01:47:49 +01:00 committed by Tim Graham
parent c1fa6672dd
commit d98210c255
2 changed files with 4 additions and 3 deletions

View file

@ -75,7 +75,8 @@ class ModelBackend:
if not user_obj.is_active or user_obj.is_anonymous or obj is not None:
return set()
if not hasattr(user_obj, '_perm_cache'):
user_obj._perm_cache = self.get_user_permissions(user_obj)
user_obj._perm_cache = set()
user_obj._perm_cache.update(self.get_user_permissions(user_obj))
user_obj._perm_cache.update(self.get_group_permissions(user_obj))
return user_obj._perm_cache