PHPackages                             imanaging-document/zeus-user-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. imanaging-document/zeus-user-bundle

ActiveSymfony-bundle[Authentication &amp; Authorization](/categories/authentication)

imanaging-document/zeus-user-bundle
===================================

Zeus user bundle

v2.0(3y ago)29.4k↓33.3%1MITPHPPHP ^7.1.3

Since Feb 19Pushed 5mo ago2 watchersCompare

[ Source](https://github.com/imanaging-document/zeus-user-bundle)[ Packagist](https://packagist.org/packages/imanaging-document/zeus-user-bundle)[ RSS](/packages/imanaging-document-zeus-user-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (10)Versions (6)Used By (1)

ZeusUserBundle
==============

[](#zeususerbundle)

This bundle allows different imanaging-document applications to sync roles, modules, users and log Zeus Users in your application.

It requires the [imanaging-document/api-communication-bundle](https://github.com/imanaging-document/api-communication-bundle).

This bundle can't be used outside an imanaging-document application.

Install the bundle with:

```
$ composer require imanaging-document/zeus-user-bundle
```

Configuration
-------------

[](#configuration)

Bundle configuration

You need to have a TYPE\_APPLICATION in your `.env` or `.env.local` file :

```
TYPE_APPLICATION: core
```

Where "core" is the type of your application.

You have to create a `config/packages/imanaging_zeus_user.yaml` file:

```
imanaging_zeus_user:
    api_get_modules_path: ~
    api_get_roles_path: ~
```

These fields are required and they must start with a "/".

Doctrine configuration :

```
doctrine:
    orm:
        resolve_target_entities:
            Imanaging\ZeusUserBundle\Interfaces\UserInterface: App\Entity\User
            Imanaging\ZeusUserBundle\Interfaces\ConnexionStatutInterface: App\Entity\ConnexionStatut
            Imanaging\ZeusUserBundle\Interfaces\ConnexionInterface: App\Entity\Connexion
            Imanaging\ZeusUserBundle\Interfaces\ModuleInterface: App\Entity\Module
            Imanaging\ZeusUserBundle\Interfaces\RoleInterface: App\Entity\Role
```

You must set the entities you want to use.

Basic usage
-----------

[](#basic-usage)

Get the Synchronisation and Login service :

```
use Imanaging\ZeusUserBundle\Synchronisation;
use Imanaging\ZeusUserBundle\Login;

class MyBeautifulService
{
  private ...
  private $synchronisationService;
  private $loginService;
  private ...

  /**
   * ...
   * @param Synchronisation $synchronisationService
   * ...
   */
  public function __construct(..., Synchronisation $synchronisationService, Login $loginService, ...){
    ...
    $this->synchronisationService = $synchronisationService;
    $this->loginService = $loginService;
    ...
  }
  ...
}
```

Synchronisation

```
$result = $this->synchronisationService->synchroniserModules();
if (is_array($result)){
  $output->writeln("".$result['nb_module_updated']." modules ont etes mis a jour.");
  $output->writeln("".$result['nb_module_added']." modules ont etes crees.");
  $output->writeln("".$result['nb_module_deleted']." modules ont etes supprimees.");
} else {
  $output->writeln("La mise à jour des modules a échoué.");
}

$result = $this->synchronisationService->synchroniserRoles();
if (is_array($result)){
  $output->writeln("".$result['nb_role_updated']." roles ont etes mis a jour.");
  $output->writeln("".$result['nb_role_added']." roles ont etes crees.");
} else {
  $output->writeln("La mise à jour des roles a échoué.");
}

$result = $this->synchronisationService->synchroniserUsers();
if (is_array($result)){
  $output->writeln("".$result['nb_user_updated']." utilisateurs ont etes mis a jour.");
  $output->writeln("".$result['nb_user_added']." utilisateurs ont etes crees.");
} else {
  $output->writeln("La mise à jour des utilisateurs a échoué.");
}
```

Login

```
$user = $loginService->canLog("LOGIN", "P@SSW0RD", "127.0.0.1");
if ($user instanceof User){
  if ($user->isUtilisateurZeus()) {
    $token = new UsernamePasswordToken($user, 'password', "secured_area", array('ROLE_USER'));
  } else {
    $token = new UsernamePasswordToken($user, $user->getPassword(), "secured_area", array('ROLE_USER'));
  }
  // Set the token
  $this->get("security.token_storage")->setToken($token);
  $event = new InteractiveLoginEvent($request, $token);
  $eventDispatcher->dispatch("security.interactive_login", $event);

  // Create connexion success history
  $loginService->createConnexion($user, $user->getLogin(), 'connexion_reussie');

  ...
}
```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance49

Moderate activity, may be stable

Popularity26

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 57.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~251 days

Total

5

Last Release

910d ago

Major Versions

v1.1 → v2.02022-06-01

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/48522350?v=4)[Imanaging Document](/maintainers/imanaging-document)[@imanaging-document](https://github.com/imanaging-document)

---

Top Contributors

[![FqKeR3m1](https://avatars.githubusercontent.com/u/15010244?v=4)](https://github.com/FqKeR3m1 "FqKeR3m1 (48 commits)")[![n1n1du44](https://avatars.githubusercontent.com/u/3704587?v=4)](https://github.com/n1n1du44 "n1n1du44 (36 commits)")

### Embed Badge

![Health badge](/badges/imanaging-document-zeus-user-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/imanaging-document-zeus-user-bundle/health.svg)](https://phpackages.com/packages/imanaging-document-zeus-user-bundle)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[symfony/security-bundle

Provides a tight integration of the Security component into the Symfony full-stack framework

2.5k172.9M1.8k](/packages/symfony-security-bundle)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[simplesamlphp/simplesamlphp

A PHP implementation of a SAML 2.0 service provider and identity provider.

1.1k12.4M193](/packages/simplesamlphp-simplesamlphp)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
