[Checkins] SVN: z3ext.security/trunk/ Check IPrincipalRoleMap adapter last
Nikolay Kim
fafhrd at datacom.kz
Sun Mar 15 14:06:09 EDT 2009
Log message for revision 98131:
Check IPrincipalRoleMap adapter last
Changed:
U z3ext.security/trunk/CHANGES.txt
U z3ext.security/trunk/src/z3ext/security/grantinfo.py
U z3ext.security/trunk/src/z3ext/security/securitypolicy.py
-=-
Modified: z3ext.security/trunk/CHANGES.txt
===================================================================
--- z3ext.security/trunk/CHANGES.txt 2009-03-15 17:43:03 UTC (rev 98130)
+++ z3ext.security/trunk/CHANGES.txt 2009-03-15 18:06:08 UTC (rev 98131)
@@ -2,6 +2,12 @@
CHANGES
=======
+1.2.5 (2009-03-15)
+------------------
+
+- Check IPrincipalRoleMap adapter last
+
+
1.2.4 (2009-03-12)
------------------
Modified: z3ext.security/trunk/src/z3ext/security/grantinfo.py
===================================================================
--- z3ext.security/trunk/src/z3ext/security/grantinfo.py 2009-03-15 17:43:03 UTC (rev 98130)
+++ z3ext.security/trunk/src/z3ext/security/grantinfo.py 2009-03-15 18:06:08 UTC (rev 98131)
@@ -74,7 +74,11 @@
for role, setting in info.getRolesForPrincipal(principal):
roles[role] = setting
- for name, prinrole in getAdapters((context,), IPrincipalRoleMap):
+ adapters = tuple(getAdapters((context,), IPrincipalRoleMap))
+ if adapters and adapters[0][0] == '':
+ adapters = adapters[1:] + adapters[:1]
+
+ for name, prinrole in adapters:
for role, setting in prinrole.getRolesForPrincipal(principal):
roles[role] = setting
Modified: z3ext.security/trunk/src/z3ext/security/securitypolicy.py
===================================================================
--- z3ext.security/trunk/src/z3ext/security/securitypolicy.py 2009-03-15 17:43:03 UTC (rev 98130)
+++ z3ext.security/trunk/src/z3ext/security/securitypolicy.py 2009-03-15 18:06:08 UTC (rev 98131)
@@ -116,6 +116,8 @@
adapters = cache.principal_roles_adapters
if adapters is None:
adapters = tuple(getAdapters((parent,), IPrincipalRoleMap))
+ if adapters and adapters[0][0] == '':
+ adapters = adapters[1:] + adapters[:1]
cache.principal_roles_adapters = adapters
for name, prinrole in adapters:
More information about the Checkins
mailing list