/usr/share/pyshared/zope/securitypolicy/metaconfigure.py is in python-zope.securitypolicy 3.7.0-0ubuntu4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | ##############################################################################
#
# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
""" Register security related configuration directives.
"""
from zope.configuration.exceptions import ConfigurationError
from zope.component.zcml import utility
from zope.securitypolicy.interfaces import IRole
from zope.securitypolicy.role import Role
from zope.securitypolicy.rolepermission import \
rolePermissionManager as role_perm_mgr
from zope.securitypolicy.principalpermission import \
principalPermissionManager as principal_perm_mgr
from zope.securitypolicy.principalrole import \
principalRoleManager as principal_role_mgr
def grant(_context, principal=None, role=None, permission=None):
nspecified = ((principal is not None)
+ (role is not None)
+ (permission is not None))
if nspecified != 2:
raise ConfigurationError(
"Exactly two of the principal, role, and permission attributes "
"must be specified")
if principal:
if role:
_context.action(
discriminator=('grantRoleToPrincipal', role, principal),
callable=principal_role_mgr.assignRoleToPrincipal,
args=(role, principal),
)
else:
_context.action(
discriminator=('grantPermissionToPrincipal',
permission,
principal),
callable=principal_perm_mgr.grantPermissionToPrincipal,
args=(permission, principal),
)
else:
_context.action(
discriminator=('grantPermissionToRole', permission, role),
callable=role_perm_mgr.grantPermissionToRole,
args=(permission, role),
)
def grantAll(_context, principal=None, role=None):
"""Grant all permissions to a role or principal
"""
nspecified = ((principal is not None)
+ (role is not None))
if nspecified != 1:
raise ConfigurationError(
"Exactly one of the principal and role attributes "
"must be specified")
if principal:
_context.action(
discriminator=('grantAllPermissionsToPrincipal',
principal),
callable=principal_perm_mgr.grantAllPermissionsToPrincipal,
args=(principal, ),
)
else:
_context.action(
discriminator=('grantAllPermissionsToRole', role),
callable=role_perm_mgr.grantAllPermissionsToRole,
args=(role, ),
)
def defineRole(_context, id, title, description=''):
role = Role(id, title, description)
utility(_context, IRole, role, name=id)
|