Multi user management for the FOSUserBundle
This project is no longer actively maintained! If you would like to takeover this project please leave a comment in: https://github.com/rollerworks/RollerworksMultiUserBundle/issues/96
The RollerworksMultiUserBundle adds support for a multi-user set-up using the FOSUserBundle. It provides a fully compatible in-place replacement for the 'fos_user' services.
In practice it is build on-top of the FOSUserBundle, and uses the original controllers, forms and UserManager.
- Fully compatible with existing bundles that already use the FOSUserBundle
- Unlimited user-systems, each with there own configuration, storage engine, templates, forms, etc.
- Easy generation of new user-systems
- Unit tested
Caution: This bundle is developed in sync with FOSUserBundle's repository. For FOSUserBundle 2.0.x, you need to use the 1.0 release of the bundle (or lower).
As the FOSUserBundle 2.0 is not stable yet, multi-user support is considered experimental!
Warning: This bundle can not be used in combination with the PUGXMultiUserBundle. If the PUGXMultiUserBundle is installed, then please remove it before continuing.
The bulk of the documentation is stored in the
file in this bundle:
All the installation instructions are located in documentation.
This bundle is released under the MIT license. See the bundled LICENSE file for details.
RollerworksMultiUserBundle was designed as an alternative to the PUGXMultiUserBundle.
A major difference to the PUGXMultiUserBundle is that RollerworksMultiUserBundle does not use Doctrine ORM Joined-Entity inheritance and provides a richer set of features.
Issues and feature requests are tracked in the Github issue tracker.
When reporting a bug, it may be a good idea to reproduce it in a basic project built using the Symfony Standard Edition to allow developers of the bundle to reproduce the issue by simply cloning it and following some steps.
For opening a PR please use Gush so the information template is included.
The original idea of the UserDiscriminator came from the PUGXMultiUserBundle.
A major difference to the PUGXMultiUserBundle is as that RollerworksMultiUserBundle does not use Doctrine ORM Joined-Entity inheritance and every user-manager is accessible without 'discriminating'.
This bundle contains source originally designed by the FOSUserBundle developers.
Before running the tests, you will need to install the bundle dependencies. Do this using composer:
The doctrine/mongodb-odm is required for functional tests but are not installed by default as it fails with some of the automated code analyzers.
$ php composer.phar composer require doctrine/mongodb-odm:"1.0.*@dev" --no-update $ php composer.phar composer require doctrine/mongodb-odm-bundle:"3.0.*@dev" --no-update $ php composer.phar --dev install
Then you can launch phpunit (make sure its installed https://github.com/sebastianbergmann/phpunit/#installation)
Using the Composer version of PHPUnit currently fails so make sure to either use the Phar archive or PEAR version. You need at least version 3.6 of PHPUnit and MockObject plugin 1.0.8
$ phpunit -c phpunit.xml.dist
Note: Functional test are not run by default, to run all tests make sure both PDO_SQLite and the PHP extension for MongoDB are installed, and launch phpunit with:
$ bin/phpunit -c phpunit.xml.dist --exclude-group ""
Optionally you may skip the functional tests as these are always run automatically on Travis-CI when opening a Pull Request.