From 7a42837530eadf2e607e824b8b8301576b15fd4a Mon Sep 17 00:00:00 2001 From: woutersioen Date: Fri, 29 Apr 2016 10:16:57 +0200 Subject: [PATCH 1/5] Make knp paginator bundle a dependency of the framework. This was a dependency of the user bundle, but we'll want it in the framework itself, even if we don't use the user bundle. --- composer.json | 3 ++- composer.lock | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/composer.json b/composer.json index d6cdb55..8b3fbc8 100644 --- a/composer.json +++ b/composer.json @@ -40,7 +40,8 @@ "sumocoders/framework-error-bundle": "^3.0", "sumocoders/framework-user-bundle": "^3.0", "sumocoders/framework-search-bundle": "^3.0", - "sumocoders/framework-example-bundle": "^4.0" + "sumocoders/framework-example-bundle": "^4.0", + "knplabs/knp-paginator-bundle": "^2.5" }, "require-dev": { "composer/composer": "1.0.*@dev", diff --git a/composer.lock b/composer.lock index 4fd5dca..a4e5ca1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "db29e00614ded6157b51227da96b1467", - "content-hash": "19647745fea04e590e1bd7b2f63fcf7a", + "hash": "f717365a1e4f379b6598348bfd5e3ade", + "content-hash": "c2ded9744d9d5fc107506437e6c820eb", "packages": [ { "name": "dbtlr/php-airbrake", @@ -1008,7 +1008,7 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/16b04c49af05dd3fb381e4abe04f0e5e231ac76d", + "url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/def27463609e24af410b2606f0062de46fab5662", "reference": "88f84f631ee7859c069cf98b475c679e90b16b22", "shasum": "" }, @@ -1533,16 +1533,16 @@ }, { "name": "knplabs/knp-paginator-bundle", - "version": "2.5.1", + "version": "2.5.3", "source": { "type": "git", "url": "https://github.com/KnpLabs/KnpPaginatorBundle.git", - "reference": "5147740faff4d32e6f42acf64475314c35320fa4" + "reference": "c988761005504007c6c87d6a557641281194a0e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/KnpPaginatorBundle/zipball/5147740faff4d32e6f42acf64475314c35320fa4", - "reference": "5147740faff4d32e6f42acf64475314c35320fa4", + "url": "https://api.github.com/repos/KnpLabs/KnpPaginatorBundle/zipball/c988761005504007c6c87d6a557641281194a0e5", + "reference": "c988761005504007c6c87d6a557641281194a0e5", "shasum": "" }, "require": { @@ -1557,7 +1557,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.4.x-dev" + "dev-master": "2.5.x-dev" } }, "autoload": { @@ -1590,7 +1590,7 @@ "pagination", "paginator" ], - "time": "2015-11-23 17:51:40" + "time": "2016-04-20 11:40:30" }, { "name": "monolog/monolog", @@ -3158,7 +3158,7 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/bb535b05ba1e23a0400ecc73adaa00d37289baf1", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0eb80ba341b62536531880423f10fed134dbcf9", "reference": "bb535b05ba1e23a0400ecc73adaa00d37289baf1", "shasum": "" }, From e71f456fcb46621a968a37c6917145c3affb77f4 Mon Sep 17 00:00:00 2001 From: woutersioen Date: Fri, 29 Apr 2016 10:23:47 +0200 Subject: [PATCH 2/5] Remove the Sumocoders user bundle depending on FOS. The FOS user bundle has some limitations that are blocking issues for some application we make. We'll build a new user bundle better tailored to our needs. --- app/AppKernel.php | 2 - app/config/config.yml | 4 -- app/config/routing.yml | 3 - app/config/security.yml | 24 ++------ composer.json | 3 - composer.lock | 121 +--------------------------------------- 6 files changed, 6 insertions(+), 151 deletions(-) diff --git a/app/AppKernel.php b/app/AppKernel.php index ad2d8ac..b8698f3 100644 --- a/app/AppKernel.php +++ b/app/AppKernel.php @@ -20,13 +20,11 @@ public function registerBundles() new JMS\I18nRoutingBundle\JMSI18nRoutingBundle(), new JMS\TranslationBundle\JMSTranslationBundle(), new Mopa\Bundle\BootstrapBundle\MopaBootstrapBundle(), - new FOS\UserBundle\FOSUserBundle(), new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), new Knp\Bundle\MenuBundle\KnpMenuBundle(), new Eo\AirbrakeBundle\EoAirbrakeBundle(), new SumoCoders\FrameworkCoreBundle\SumoCodersFrameworkCoreBundle(), - new SumoCoders\FrameworkUserBundle\SumoCodersFrameworkUserBundle(), new SumoCoders\FrameworkSearchBundle\SumoCodersFrameworkSearchBundle(), new SumoCoders\FrameworkErrorBundle\SumoCodersFrameworkErrorBundle(), ); diff --git a/app/config/config.yml b/app/config/config.yml index 1e23154..25cb094 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -3,10 +3,6 @@ imports: - { resource: security.yml } - { resource: "@SumoCodersFrameworkErrorBundle/Resources/config/config.yml" } -services: - fos_user.doctrine_registry: - alias: doctrine - # Framework configuration framework: translator: { fallback: "%locale%" } diff --git a/app/config/routing.yml b/app/config/routing.yml index 957b0ef..67b23e7 100644 --- a/app/config/routing.yml +++ b/app/config/routing.yml @@ -7,6 +7,3 @@ sumo_coders_framework_core: resource: "@SumoCodersFrameworkCoreBundle/Controller/DefaultController.php" type: annotation prefix: / - -sumo_coders_users_bundle: - resource: "@SumoCodersFrameworkUserBundle/Resources/config/routing.yml" diff --git a/app/config/security.yml b/app/config/security.yml index 258bfd0..0aeba13 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -7,35 +7,19 @@ security: ROLE_SUPER_ADMIN: ROLE_ADMIN providers: - fos_userbundle: - id: fos_user.user_provider.username_email + in_memory: + memory: ~ firewalls: main: + provider: in_memory pattern: ^/ - form_login: - provider: fos_userbundle - csrf_token_generator: security.csrf.token_manager - login_path: fos_user_security_login - check_path: fos_user_security_check - logout: - path: fos_user_security_logout - target: fos_user_security_login + http_basic: ~ anonymous: true - remember_me: - secret: %secret% - lifetime: 604800 - path: / dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false access_control: - - { path: ^/\w\w/user/login, role: IS_AUTHENTICATED_ANONYMOUSLY } - - { path: ^/\w\w/user/request, role: IS_AUTHENTICATED_ANONYMOUSLY } - - { path: ^/\w\w/user/send-email, role: IS_AUTHENTICATED_ANONYMOUSLY } - - { path: ^/\w\w/user/check-email, role: IS_AUTHENTICATED_ANONYMOUSLY } - - { path: ^/\w\w/user/reset, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/(_(profiler|wdt|tests)|css|js)/, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/\w\w/locale.json, role: IS_AUTHENTICATED_ANONYMOUSLY } - - { path: ^/, role: ROLE_USER } diff --git a/composer.json b/composer.json index 8b3fbc8..717d0ef 100644 --- a/composer.json +++ b/composer.json @@ -29,8 +29,6 @@ "sensio/distribution-bundle": "^5.0", "sensio/framework-extra-bundle": "^3.0", "incenteev/composer-parameter-handler": "^2.1", - - "friendsofsymfony/user-bundle": "2.0.x-dev", "mopa/bootstrap-bundle": "^3.0", "jms/i18n-routing-bundle": "^2.0", "jms/translation-bundle": "^1.1", @@ -38,7 +36,6 @@ "tijsverkoyen/css-to-inline-styles": "^2.0", "sumocoders/framework-error-bundle": "^3.0", - "sumocoders/framework-user-bundle": "^3.0", "sumocoders/framework-search-bundle": "^3.0", "sumocoders/framework-example-bundle": "^4.0", "knplabs/knp-paginator-bundle": "^2.5" diff --git a/composer.lock b/composer.lock index a4e5ca1..1ed11a8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "f717365a1e4f379b6598348bfd5e3ade", - "content-hash": "c2ded9744d9d5fc107506437e6c820eb", + "hash": "42d1d65bfeb8ed56e5d272d094c52420", + "content-hash": "0ce2c9608e9197520e9d3d39f5fc4e35", "packages": [ { "name": "dbtlr/php-airbrake", @@ -998,75 +998,6 @@ ], "time": "2016-02-02 11:43:50" }, - { - "name": "friendsofsymfony/user-bundle", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfSymfony/FOSUserBundle.git", - "reference": "88f84f631ee7859c069cf98b475c679e90b16b22" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/def27463609e24af410b2606f0062de46fab5662", - "reference": "88f84f631ee7859c069cf98b475c679e90b16b22", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/form": "~2.3|~3.0", - "symfony/framework-bundle": "~2.3|~3.0", - "symfony/security-bundle": "~2.3|~3.0", - "symfony/twig-bundle": "~2.3|~3.0" - }, - "require-dev": { - "doctrine/doctrine-bundle": "~1.3", - "swiftmailer/swiftmailer": "~4.3|~5", - "symfony/console": "~2.3|~3.0", - "symfony/phpunit-bridge": "~2.7|~3.0", - "symfony/validator": "~2.3|~3.0", - "symfony/yaml": "~2.3|~3.0", - "willdurand/propel-typehintable-behavior": "~1.0" - }, - "suggest": { - "willdurand/propel-typehintable-behavior": "Needed when using the propel implementation" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "FOS\\UserBundle\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christophe Coevoet", - "email": "stof@notk.org" - }, - { - "name": "FriendsOfSymfony Community", - "homepage": "https://github.com/friendsofsymfony/FOSUserBundle/contributors" - }, - { - "name": "Thibault Duplessis", - "email": "thibault.duplessis@gmail.com" - } - ], - "description": "Symfony FOSUserBundle", - "homepage": "http://friendsofsymfony.github.com", - "keywords": [ - "User management" - ], - "time": "2016-03-04 13:20:42" - }, { "name": "incenteev/composer-parameter-handler", "version": "v2.1.2", @@ -2286,53 +2217,6 @@ ], "time": "2016-03-04 08:39:22" }, - { - "name": "sumocoders/framework-user-bundle", - "version": "v3.0.0", - "target-dir": "SumoCoders/FrameworkUserBundle", - "source": { - "type": "git", - "url": "https://github.com/sumocoders/FrameworkUserBundle.git", - "reference": "e7c62711ec7b27cb4c4cd4e60efa84c5d4d485af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sumocoders/FrameworkUserBundle/zipball/e7c62711ec7b27cb4c4cd4e60efa84c5d4d485af", - "reference": "e7c62711ec7b27cb4c4cd4e60efa84c5d4d485af", - "shasum": "" - }, - "require": { - "friendsofsymfony/user-bundle": "^2.0@dev", - "knplabs/knp-paginator-bundle": "^2.5", - "php": "^5.5 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.2 || ^4.8", - "symfony/phpunit-bridge": "^3.0" - }, - "type": "symfony-bundle", - "autoload": { - "psr-0": { - "SumoCoders\\FrameworkUserBundle": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "tijs@sumocoders.be" - } - ], - "description": "The user bundle for our mini-framework", - "keywords": [ - "SumoCoders", - "framework" - ], - "time": "2016-03-04 08:39:32" - }, { "name": "swiftmailer/swiftmailer", "version": "v5.4.1", @@ -5084,7 +4968,6 @@ "aliases": [], "minimum-stability": "dev", "stability-flags": { - "friendsofsymfony/user-bundle": 20, "composer/composer": 20 }, "prefer-stable": true, From a512ca684e71fbef1a152d4eb5ea770c3f72fca0 Mon Sep 17 00:00:00 2001 From: woutersioen Date: Fri, 29 Apr 2016 10:55:53 +0200 Subject: [PATCH 3/5] Add our development version of our user bundle. It has no functionality yet. --- app/AppKernel.php | 1 + composer.json | 3 ++- composer.lock | 66 +++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 67 insertions(+), 3 deletions(-) diff --git a/app/AppKernel.php b/app/AppKernel.php index b8698f3..896c7c9 100644 --- a/app/AppKernel.php +++ b/app/AppKernel.php @@ -25,6 +25,7 @@ public function registerBundles() new Eo\AirbrakeBundle\EoAirbrakeBundle(), new SumoCoders\FrameworkCoreBundle\SumoCodersFrameworkCoreBundle(), + new SumoCoders\FrameworkMultiUserBundle\SumoCodersFrameworkMultiUserBundle(), new SumoCoders\FrameworkSearchBundle\SumoCodersFrameworkSearchBundle(), new SumoCoders\FrameworkErrorBundle\SumoCodersFrameworkErrorBundle(), ); diff --git a/composer.json b/composer.json index 717d0ef..6945e07 100644 --- a/composer.json +++ b/composer.json @@ -38,7 +38,8 @@ "sumocoders/framework-error-bundle": "^3.0", "sumocoders/framework-search-bundle": "^3.0", "sumocoders/framework-example-bundle": "^4.0", - "knplabs/knp-paginator-bundle": "^2.5" + "knplabs/knp-paginator-bundle": "^2.5", + "sumocoders/framework-multi-user-bundle": "dev-master" }, "require-dev": { "composer/composer": "1.0.*@dev", diff --git a/composer.lock b/composer.lock index 1ed11a8..92f4d93 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "42d1d65bfeb8ed56e5d272d094c52420", - "content-hash": "0ce2c9608e9197520e9d3d39f5fc4e35", + "hash": "dc930fd78e3689d1a564686c1734f1a3", + "content-hash": "4fbfefebf791015bc31900ef1ff2c98c", "packages": [ { "name": "dbtlr/php-airbrake", @@ -2167,6 +2167,67 @@ ], "time": "2016-03-11 14:22:15" }, + { + "name": "sumocoders/framework-multi-user-bundle", + "version": "dev-master", + "target-dir": "SumoCoders/FrameworkMultiUserBundle", + "source": { + "type": "git", + "url": "https://github.com/sumocoders/FrameworkMultiUserBundle.git", + "reference": "d39d72e426e2ac29305c9f3ba4ed3c98f6b6886a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sumocoders/FrameworkMultiUserBundle/zipball/d39d72e426e2ac29305c9f3ba4ed3c98f6b6886a", + "reference": "d39d72e426e2ac29305c9f3ba4ed3c98f6b6886a", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "^5.2 || ^4.8" + }, + "type": "symfony-bundle", + "autoload": { + "psr-0": { + "SumoCoders\\FrameworkMultiUserBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "tijs@sumocoders.be" + }, + { + "name": "Wouter Sioen", + "email": "wouter@sumocoders.be" + }, + { + "name": "Jelmer Prins", + "email": "jelmer@sumocoders.be" + }, + { + "name": "Stijn Vrolijk", + "email": "stijn@sumocoders.be" + }, + { + "name": "Jonas De Keukelaere", + "email": "jonas@sumocoders.be" + }, + { + "name": "Dylan Moerman", + "email": "dylan@sumocoders.be" + } + ], + "description": "The new multi user bundle for our mini-framework", + "keywords": [ + "SumoCoders", + "framework" + ], + "time": "2016-04-29 08:42:05" + }, { "name": "sumocoders/framework-search-bundle", "version": "v3.0.0", @@ -4968,6 +5029,7 @@ "aliases": [], "minimum-stability": "dev", "stability-flags": { + "sumocoders/framework-multi-user-bundle": 20, "composer/composer": 20 }, "prefer-stable": true, From 38b344e3b45b6284f1a91f312e344696df124189 Mon Sep 17 00:00:00 2001 From: woutersioen Date: Mon, 30 May 2016 17:03:33 +0200 Subject: [PATCH 4/5] Configure our new multiuser bundle. --- app/config/config.yml | 13 +++++++++++++ app/config/routing.yml | 4 ++++ app/config/security.yml | 12 ++++++++---- composer.lock | 8 ++++---- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/app/config/config.yml b/app/config/config.yml index 25cb094..7d2056c 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -107,3 +107,16 @@ swiftmailer: host: "%mailer_host%" username: "%mailer_user%" password: "%mailer_password%" + +sumo_coders_framework_multi_user: + redirect_routes: + SumoCoders\FrameworkMultiUserBundle\User\User: sumocoders_frameworkexample_bootstrap_carousel + +services: + sumocoders.in_memory_user_repository: + class: SumoCoders\FrameworkMultiUserBundle\User\InMemoryUserRepository + + sumocoders.in_memory_user_provider: + class: SumoCoders\FrameworkMultiUserBundle\Security\ObjectUserProvider + arguments: + - "@sumocoders.in_memory_user_repository" diff --git a/app/config/routing.yml b/app/config/routing.yml index 67b23e7..e70097f 100644 --- a/app/config/routing.yml +++ b/app/config/routing.yml @@ -7,3 +7,7 @@ sumo_coders_framework_core: resource: "@SumoCodersFrameworkCoreBundle/Controller/DefaultController.php" type: annotation prefix: / + +sumo_coders_framework_multi_user: + resource: "@SumoCodersFrameworkMultiUserBundle/Resources/config/routing.yml" + prefix: / diff --git a/app/config/security.yml b/app/config/security.yml index 0aeba13..a2db889 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -1,6 +1,6 @@ security: encoders: - FOS\UserBundle\Model\UserInterface: sha512 + SumoCoders\FrameworkMultiUserBundle\User\User: plaintext role_hierarchy: ROLE_ADMIN: ROLE_USER @@ -8,14 +8,16 @@ security: providers: in_memory: - memory: ~ + id: sumocoders.in_memory_user_provider firewalls: main: provider: in_memory pattern: ^/ - http_basic: ~ - anonymous: true + anonymous: ~ + guard: + authenticators: + - sumocoders.form_authenticator dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false @@ -23,3 +25,5 @@ security: access_control: - { path: ^/(_(profiler|wdt|tests)|css|js)/, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/\w\w/locale.json, role: IS_AUTHENTICATED_ANONYMOUSLY } + - { path: ^/\w\w/login, role: IS_AUTHENTICATED_ANONYMOUSLY } + - { path: ^/, role: ROLE_USER } diff --git a/composer.lock b/composer.lock index 92f4d93..c94f74a 100644 --- a/composer.lock +++ b/composer.lock @@ -2174,12 +2174,12 @@ "source": { "type": "git", "url": "https://github.com/sumocoders/FrameworkMultiUserBundle.git", - "reference": "d39d72e426e2ac29305c9f3ba4ed3c98f6b6886a" + "reference": "8f86ae5459891a8490e0e194031b454447615ecb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sumocoders/FrameworkMultiUserBundle/zipball/d39d72e426e2ac29305c9f3ba4ed3c98f6b6886a", - "reference": "d39d72e426e2ac29305c9f3ba4ed3c98f6b6886a", + "url": "https://api.github.com/repos/sumocoders/FrameworkMultiUserBundle/zipball/8f86ae5459891a8490e0e194031b454447615ecb", + "reference": "8f86ae5459891a8490e0e194031b454447615ecb", "shasum": "" }, "require-dev": { @@ -2226,7 +2226,7 @@ "SumoCoders", "framework" ], - "time": "2016-04-29 08:42:05" + "time": "2016-04-29 09:22:39" }, { "name": "sumocoders/framework-search-bundle", From 5c8726c8bf25b0560c51c0d4838889d2c8e14259 Mon Sep 17 00:00:00 2001 From: Bjorn Van Acker Date: Mon, 6 Jun 2016 13:50:45 +0200 Subject: [PATCH 5/5] Configure multiuser bundle logout --- app/config/security.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/config/security.yml b/app/config/security.yml index a2db889..937e23b 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -18,6 +18,10 @@ security: guard: authenticators: - sumocoders.form_authenticator + logout: + path: /%locale%/logout + target: / + dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false