[Zope-Checkins] CVS: Zope/lib/python/AccessControl - SecurityManagement.py:1.8

Shane Hathaway shane@zope.com
Wed, 14 May 2003 17:51:24 -0400


Update of /cvs-repository/Zope/lib/python/AccessControl
In directory cvs.zope.org:/tmp/cvs-serv3457

Modified Files:
	SecurityManagement.py 
Log Message:
Initialize SpecialUsers if needed.  Code that imports AccessControl without
importing AccessControl.User specifically will now function correctly.


=== Zope/lib/python/AccessControl/SecurityManagement.py 1.7 => 1.8 ===
--- Zope/lib/python/AccessControl/SecurityManagement.py:1.7	Wed Aug 14 17:29:07 2002
+++ Zope/lib/python/AccessControl/SecurityManagement.py	Wed May 14 17:51:23 2003
@@ -22,9 +22,12 @@
     thread_id=get_ident()
     manager=_managers.get(thread_id, None)
     if manager is None:
-        manager=SecurityManager(
-            thread_id,
-            SecurityContext(SpecialUsers.nobody))
+        nobody = getattr(SpecialUsers, 'nobody', None)
+        if nobody is None:
+            # Initialize SpecialUsers by importing User.py.
+            import User
+            nobody = SpecialUsers.nobody
+        manager = SecurityManager(thread_id, SecurityContext(nobody))
         _managers[thread_id]=manager
 
     return manager