|
@@ -70,15 +70,7 @@ class SonataAdminExtension extends Extension
|
|
$container->setAlias('sonata.admin.security.handler', $config['security']['handler']);
|
|
$container->setAlias('sonata.admin.security.handler', $config['security']['handler']);
|
|
|
|
|
|
switch ($config['security']['handler']) {
|
|
switch ($config['security']['handler']) {
|
|
- case 'sonata.admin.security.handler.noop':
|
|
|
|
- $container->setParameter('sonata.admin.security.handler.noop.class', 'Sonata\AdminBundle\Security\Handler\NoopSecurityHandler');
|
|
|
|
- $container->setDefinition('sonata.admin.security.handler.noop', new Definition('%sonata.admin.security.handler.noop.class%'));
|
|
|
|
- break;
|
|
|
|
case 'sonata.admin.security.handler.role':
|
|
case 'sonata.admin.security.handler.role':
|
|
- $container->setParameter('sonata.admin.security.handler.role.class', 'Sonata\AdminBundle\Security\Handler\RoleSecurityHandler');
|
|
|
|
- $roleService = new Definition('%sonata.admin.security.handler.role.class%', array(new Reference('security.context'), array('ROLE_SUPER_ADMIN')));
|
|
|
|
- $container->setDefinition('sonata.admin.security.handler.role', $roleService);
|
|
|
|
-
|
|
|
|
if (count($config['security']['information']) === 0) {
|
|
if (count($config['security']['information']) === 0) {
|
|
$config['security']['information'] = array(
|
|
$config['security']['information'] = array(
|
|
'EDIT' => array('EDIT'),
|
|
'EDIT' => array('EDIT'),
|
|
@@ -92,10 +84,6 @@ class SonataAdminExtension extends Extension
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
case 'sonata.admin.security.handler.acl':
|
|
case 'sonata.admin.security.handler.acl':
|
|
- $container->setParameter('sonata.admin.configuration.security.admin_permissions', $config['security']['admin_permissions']);
|
|
|
|
- $container->setParameter('sonata.admin.configuration.security.object_permissions', $config['security']['object_permissions']);
|
|
|
|
- $loader->load('security_acl.xml');
|
|
|
|
-
|
|
|
|
if (count($config['security']['information']) === 0) {
|
|
if (count($config['security']['information']) === 0) {
|
|
$config['security']['information'] = array(
|
|
$config['security']['information'] = array(
|
|
'GUEST' => array('VIEW', 'LIST'),
|
|
'GUEST' => array('VIEW', 'LIST'),
|
|
@@ -105,11 +93,11 @@ class SonataAdminExtension extends Extension
|
|
);
|
|
);
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
- default:
|
|
|
|
- throw new \InvalidArgumentException(sprintf('Unknown security handler "%s"', $config['security']['handler']));
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
$container->setParameter('sonata.admin.configuration.security.information', $config['security']['information']);
|
|
$container->setParameter('sonata.admin.configuration.security.information', $config['security']['information']);
|
|
|
|
+ $container->setParameter('sonata.admin.configuration.security.admin_permissions', $config['security']['admin_permissions']);
|
|
|
|
+ $container->setParameter('sonata.admin.configuration.security.object_permissions', $config['security']['object_permissions']);
|
|
|
|
+ $loader->load('security.xml');
|
|
|
|
|
|
/**
|
|
/**
|
|
* This is a work in progress, so for now it is hardcoded
|
|
* This is a work in progress, so for now it is hardcoded
|