274 lines
12 KiB
PHP
Executable File
274 lines
12 KiB
PHP
Executable File
<?php
|
|
|
|
return [
|
|
'menu' => [
|
|
'admin' => [
|
|
'mautic.user_management' => [
|
|
'id' => 'mautic_user_management_root',
|
|
'priority' => 17,
|
|
'access' => ['user:users:view', 'user:roles:view'],
|
|
],
|
|
'mautic.user.users' => [
|
|
'access' => 'user:users:view',
|
|
'route' => 'mautic_user_index',
|
|
'parent' => 'mautic.user_management',
|
|
'iconClass' => 'ri-user-settings-line',
|
|
],
|
|
'mautic.user.roles' => [
|
|
'access' => 'user:roles:view',
|
|
'route' => 'mautic_role_index',
|
|
'parent' => 'mautic.user_management',
|
|
'iconClass' => 'ri-shield-user-line',
|
|
],
|
|
],
|
|
],
|
|
|
|
'routes' => [
|
|
'main' => [
|
|
'login' => [
|
|
'path' => '/login',
|
|
'controller' => 'Mautic\UserBundle\Controller\SecurityController::loginAction',
|
|
],
|
|
'mautic_user_logincheck' => [
|
|
'path' => '/login_check',
|
|
'controller' => 'Mautic\UserBundle\Controller\SecurityController::loginCheckAction',
|
|
],
|
|
'mautic_user_logout' => [
|
|
'path' => '/logout',
|
|
],
|
|
'mautic_sso_login' => [
|
|
'path' => '/sso_login/{integration}',
|
|
'controller' => 'Mautic\UserBundle\Controller\SecurityController::ssoLoginAction',
|
|
],
|
|
'mautic_sso_login_check' => [
|
|
'path' => '/sso_login_check/{integration}',
|
|
'controller' => 'Mautic\UserBundle\Controller\SecurityController::ssoLoginCheckAction',
|
|
],
|
|
'lightsaml_sp.login' => [
|
|
'path' => '/saml/login',
|
|
'controller' => 'LightSaml\SpBundle\Controller\DefaultController::loginAction',
|
|
],
|
|
'lightsaml_sp.login_check' => [
|
|
'path' => '/saml/login_check',
|
|
],
|
|
'mautic_user_index' => [
|
|
'path' => '/users/{page}',
|
|
'controller' => 'Mautic\UserBundle\Controller\UserController::indexAction',
|
|
],
|
|
'mautic_user_action' => [
|
|
'path' => '/users/{objectAction}/{objectId}',
|
|
'controller' => 'Mautic\UserBundle\Controller\UserController::executeAction',
|
|
],
|
|
'mautic_role_index' => [
|
|
'path' => '/roles/{page}',
|
|
'controller' => 'Mautic\UserBundle\Controller\RoleController::indexAction',
|
|
],
|
|
'mautic_role_action' => [
|
|
'path' => '/roles/{objectAction}/{objectId}',
|
|
'controller' => 'Mautic\UserBundle\Controller\RoleController::executeAction',
|
|
],
|
|
'mautic_user_account' => [
|
|
'path' => '/account',
|
|
'controller' => 'Mautic\UserBundle\Controller\ProfileController::indexAction',
|
|
],
|
|
],
|
|
|
|
'api' => [
|
|
'mautic_api_usersstandard' => [
|
|
'standard_entity' => true,
|
|
'name' => 'users',
|
|
'path' => '/users',
|
|
'controller' => Mautic\UserBundle\Controller\Api\UserApiController::class,
|
|
],
|
|
'mautic_api_getself' => [
|
|
'path' => '/users/self',
|
|
'controller' => 'Mautic\UserBundle\Controller\Api\UserApiController::getSelfAction',
|
|
],
|
|
'mautic_api_checkpermission' => [
|
|
'path' => '/users/{id}/permissioncheck',
|
|
'controller' => 'Mautic\UserBundle\Controller\Api\UserApiController::isGrantedAction',
|
|
'method' => 'POST',
|
|
],
|
|
'mautic_api_getuserroles' => [
|
|
'path' => '/users/list/roles',
|
|
'controller' => 'Mautic\UserBundle\Controller\Api\UserApiController::getRolesAction',
|
|
],
|
|
'mautic_api_rolesstandard' => [
|
|
'standard_entity' => true,
|
|
'name' => 'roles',
|
|
'path' => '/roles',
|
|
'controller' => Mautic\UserBundle\Controller\Api\RoleApiController::class,
|
|
],
|
|
],
|
|
'public' => [
|
|
'mautic_user_passwordreset' => [
|
|
'path' => '/passwordreset',
|
|
'controller' => 'Mautic\UserBundle\Controller\PublicController::passwordResetAction',
|
|
],
|
|
'mautic_user_passwordresetconfirm' => [
|
|
'path' => '/passwordresetconfirm',
|
|
'controller' => 'Mautic\UserBundle\Controller\PublicController::passwordResetConfirmAction',
|
|
],
|
|
'lightsaml_sp.metadata' => [
|
|
'path' => '/saml/metadata.xml',
|
|
'controller' => 'LightSaml\SpBundle\Controller\DefaultController::metadataAction',
|
|
],
|
|
'lightsaml_sp.discovery' => [
|
|
'path' => '/saml/discovery',
|
|
'controller' => 'LightSaml\SpBundle\Controller\DefaultController::discoveryAction',
|
|
],
|
|
'mautic_saml_login_retry' => [
|
|
'path' => '/saml/login_retry',
|
|
'controller' => 'Mautic\UserBundle\Controller\SecurityController::samlLoginRetryAction',
|
|
],
|
|
],
|
|
],
|
|
|
|
'services' => [
|
|
'other' => [
|
|
// Authentication
|
|
'mautic.user.manager' => [
|
|
'class' => Doctrine\ORM\EntityManager::class,
|
|
'arguments' => Mautic\UserBundle\Entity\User::class,
|
|
'factory' => ['@doctrine', 'getManagerForClass'],
|
|
],
|
|
'mautic.permission.manager' => [
|
|
'class' => Doctrine\ORM\EntityManager::class,
|
|
'arguments' => Mautic\UserBundle\Entity\Permission::class,
|
|
'factory' => ['@doctrine', 'getManagerForClass'],
|
|
],
|
|
'mautic.user.provider' => [
|
|
'class' => Mautic\UserBundle\Security\Provider\UserProvider::class,
|
|
'arguments' => [
|
|
'mautic.user.repository',
|
|
'mautic.permission.repository',
|
|
'event_dispatcher',
|
|
'security.password_hasher',
|
|
],
|
|
],
|
|
'mautic.security.authentication_handler' => [
|
|
'class' => Mautic\UserBundle\Security\Authentication\AuthenticationHandler::class,
|
|
'arguments' => [
|
|
'router',
|
|
],
|
|
],
|
|
'mautic.security.logout_handler' => [
|
|
'class' => Mautic\UserBundle\EventListener\LogoutListener::class,
|
|
'tagArguments' => [
|
|
'event' => Symfony\Component\Security\Http\Event\LogoutEvent::class,
|
|
],
|
|
'tag' => 'kernel.event_listener',
|
|
'arguments' => [
|
|
'mautic.user.model.user',
|
|
'event_dispatcher',
|
|
'mautic.helper.user',
|
|
],
|
|
],
|
|
|
|
// SAML
|
|
'mautic.security.saml.credential_store' => [
|
|
'class' => Mautic\UserBundle\Security\SAML\Store\CredentialsStore::class,
|
|
'arguments' => [
|
|
'mautic.helper.core_parameters',
|
|
'%mautic.saml_idp_entity_id%',
|
|
],
|
|
'tag' => 'lightsaml.own_credential_store',
|
|
],
|
|
|
|
'mautic.security.saml.trust_store' => [
|
|
'class' => Mautic\UserBundle\Security\SAML\Store\TrustOptionsStore::class,
|
|
'arguments' => [
|
|
'mautic.helper.core_parameters',
|
|
'%mautic.saml_idp_entity_id%',
|
|
],
|
|
'tag' => 'lightsaml.trust_options_store',
|
|
],
|
|
|
|
'mautic.security.saml.entity_descriptor_provider' => [
|
|
'class' => LightSaml\Builder\EntityDescriptor\SimpleEntityDescriptorBuilder::class,
|
|
'factory' => [Mautic\UserBundle\Security\SAML\EntityDescriptorProviderFactory::class, 'build'],
|
|
'arguments' => [
|
|
'%lightsaml.own.entity_id%',
|
|
'router',
|
|
'%lightsaml.route.login_check%',
|
|
'lightsaml.own.credential_store',
|
|
],
|
|
],
|
|
|
|
'mautic.security.saml.entity_descriptor_store' => [
|
|
'class' => Mautic\UserBundle\Security\SAML\Store\EntityDescriptorStore::class,
|
|
'arguments' => [
|
|
'mautic.helper.core_parameters',
|
|
],
|
|
'tag' => 'lightsaml.idp_entity_store',
|
|
],
|
|
|
|
'mautic.security.saml.id_store' => [
|
|
'class' => Mautic\UserBundle\Security\SAML\Store\IdStore::class,
|
|
'arguments' => [
|
|
'doctrine.orm.entity_manager',
|
|
'lightsaml.system.time_provider',
|
|
],
|
|
],
|
|
|
|
'mautic.security.saml.username_mapper' => [
|
|
'class' => Mautic\UserBundle\Security\SAML\User\UserMapper::class,
|
|
'arguments' => [
|
|
[
|
|
'email' => '%mautic.saml_idp_email_attribute%',
|
|
'username' => '%mautic.saml_idp_username_attribute%',
|
|
'firstname' => '%mautic.saml_idp_firstname_attribute%',
|
|
'lastname' => '%mautic.saml_idp_lastname_attribute%',
|
|
],
|
|
],
|
|
],
|
|
|
|
'mautic.security.saml.user_creator' => [
|
|
'class' => Mautic\UserBundle\Security\SAML\User\UserCreator::class,
|
|
'arguments' => [
|
|
'doctrine.orm.entity_manager',
|
|
'mautic.security.saml.username_mapper',
|
|
'mautic.user.model.user',
|
|
'security.password_hasher',
|
|
'%mautic.saml_idp_default_role%',
|
|
],
|
|
],
|
|
'mautic.security.user_token_setter' => [
|
|
'class' => Mautic\UserBundle\Security\UserTokenSetter::class,
|
|
'arguments' => ['mautic.user.model.user', 'security.token_storage'],
|
|
],
|
|
'mautic.user.model.user_token_service' => [
|
|
'class' => Mautic\UserBundle\Model\UserToken\UserTokenService::class,
|
|
'arguments' => [
|
|
'mautic.helper.random',
|
|
'mautic.user.repository.user_token',
|
|
],
|
|
],
|
|
],
|
|
'fixtures' => [
|
|
'mautic.user.fixture.role' => [
|
|
'class' => Mautic\UserBundle\DataFixtures\ORM\LoadRoleData::class,
|
|
'tag' => Doctrine\Bundle\FixturesBundle\DependencyInjection\CompilerPass\FixturesCompilerPass::FIXTURE_TAG,
|
|
'arguments' => ['mautic.user.model.role'],
|
|
],
|
|
'mautic.user.fixture.user' => [
|
|
'class' => Mautic\UserBundle\DataFixtures\ORM\LoadUserData::class,
|
|
'tag' => Doctrine\Bundle\FixturesBundle\DependencyInjection\CompilerPass\FixturesCompilerPass::FIXTURE_TAG,
|
|
'arguments' => ['security.password_hasher'],
|
|
],
|
|
],
|
|
],
|
|
'parameters' => [
|
|
'saml_idp_metadata' => '',
|
|
'saml_idp_entity_id' => '',
|
|
'saml_idp_own_certificate' => '',
|
|
'saml_idp_own_private_key' => '',
|
|
'saml_idp_own_password' => '',
|
|
'saml_idp_email_attribute' => '',
|
|
'saml_idp_username_attribute' => '',
|
|
'saml_idp_firstname_attribute' => '',
|
|
'saml_idp_lastname_attribute' => '',
|
|
'saml_idp_default_role' => '',
|
|
],
|
|
];
|