{"id":36343613,"url":"https://github.com/imatic/user-bundle","last_synced_at":"2026-01-11T13:00:03.271Z","repository":{"id":27335654,"uuid":"113467713","full_name":"imatic/user-bundle","owner":"imatic","description":"Bundle to work with users, roles","archived":false,"fork":false,"pushed_at":"2025-11-12T23:50:00.000Z","size":962,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-12-25T09:42:13.969Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imatic.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"Security/EmailUserProvider.php","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-07T15:30:43.000Z","updated_at":"2024-11-11T08:22:20.000Z","dependencies_parsed_at":"2023-11-13T09:28:53.434Z","dependency_job_id":"156c0675-9163-4a48-b320-ff630c7a5eb4","html_url":"https://github.com/imatic/user-bundle","commit_stats":{"total_commits":173,"total_committers":10,"mean_commits":17.3,"dds":0.6878612716763006,"last_synced_commit":"e44c136dd33e1fd8b4038e0361a2a0ea6207ccfa"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/imatic/user-bundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imatic%2Fuser-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imatic%2Fuser-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imatic%2Fuser-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imatic%2Fuser-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imatic","download_url":"https://codeload.github.com/imatic/user-bundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imatic%2Fuser-bundle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28304263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T11:18:18.743Z","status":"ssl_error","status_checked_at":"2026-01-11T11:07:56.842Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-11T13:00:02.577Z","updated_at":"2026-01-11T13:00:03.263Z","avatar_url":"https://github.com/imatic.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: https://secure.travis-ci.org/imatic/user-bundle.png?branch=master\n   :alt: Build Status\n   :target: http://travis-ci.org/imatic/user-bundle\n|\n.. image:: https://img.shields.io/badge/License-MIT-yellow.svg\n   :alt: License: MIT\n   :target: LICENSE\n\n================\nImaticUserBundle\n================\n\n*****\nRoles\n*****\n\nGlobal roles\n============\n\nConfiguration\n-------------\n\n.. sourcecode:: yaml\n\n    # app/config/security.yml\n\n    security:\n        # ...\n\n        role_hierarchy:\n            ROLE_ADMIN:       ROLE_USER\n            ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]\n\nTranslation\n-----------\n\nGlobal roles are translated using the \"roles\" domain.\n\nModel roles\n===========\n\nConfiguration\n-------------\n\n.. sourcecode:: yaml\n\n    # app/config/config.yml\n\n    # Imatic user\n    imatic_user:\n        # ...\n        security:\n            role:\n                model:\n                    namespaces:\n                        includes:\n                            - App\n                        excludes:\n                            - AppExampleBundle\\Entity\\Example   # exclude single entity\n                            - AppFooBundle\\Entity               # exclude all entities\n\n\n*************\nInstallation\n*************\n\n1. Generate AppUserBundle\n=========================\n\nGenerate and enable a local bundle called AppUserBundle.\n\nThis bundle will contain user-related entities and fixtures.\n\n\n2. Download ImaticUserBundle using composer\n===========================================\n\n.. sourcecode:: yaml\n\n    \"require\": {\n        # ...\n        \"imatic/user-bundle\": \"^3.0\"\n    }\n\n3. Enable the bundle\n====================\n\n.. sourcecode:: php\n\n    \u003c?php\n    // app/AppKernel.php\n\n    public function registerBundles()\n    {\n        $bundles = array(\n            // ...\n            new FOS\\UserBundle\\FOSUserBundle(),\n            new Imatic\\Bundle\\UserBundle\\ImaticUserBundle(),\n        );\n    }\n\n4. Configure the bundles\n========================\n\n.. sourcecode:: yaml\n\n    # app/config/config.yml\n\n    imports:\n        # ...\n        - { resource: \"@ImaticUserBundle/Resources/config/config.yml\" }\n        - { resource: \"@AppUserBundle/Resources/config/config.yml\" }\n\n    doctrine:\n        # ...\n        orm:\n            #...\n            resolve_target_entities:\n                # UserBundle\n                Imatic\\Bundle\\UserBundle\\Model\\UserInterface: ApUserBundle\\Entity\\User\n                Imatic\\Bundle\\UserBundle\\Model\\GroupInterface: AppUserBundle\\Entity\\Group\n\n    # Imatic user\n    imatic_user:\n        entities:\n            user: AppUserBundle\\Entity\\User\n            group: AppUserBundle\\Entity\\Group\n        security:\n            role:\n                model:\n                    namespaces:\n                        includes: ~\n                        excludes: ~\n                hierarchy: ~\n\n5. Configure the security\n=========================\n\n.. sourcecode:: yaml\n\n    # app/config/security.yml\n\n    security:\n        encoders:\n            Symfony\\Component\\Security\\Core\\User\\UserInterface: bcrypt\n\n        role_hierarchy:\n            ROLE_ADMIN:       ROLE_USER\n            ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]\n\n        providers:\n            imatic_user_provider:\n                id: imatic_user.user_provider.username\n\n        firewalls:\n            dev:\n                pattern:  ^/(_(profiler|wdt)|css|images|js)/\n                security: false\n\n            main:\n                pattern: ^/\n                form_login:\n                    provider: imatic_user_provider\n                    csrf_token_generator: security.csrf.token_manager\n                logout:       true\n                anonymous:    true\n                switch_user:  true\n\n        access_control:\n            - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }\n            - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }\n            - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }\n            - { path: ^/, role: IS_AUTHENTICATED_FULLY }\n\n6. Configure the routing\n========================\n\n.. sourcecode:: yaml\n\n    # app/config/routing.yml\n\n    imatic_user:\n        resource: \"@ImaticUserBundle/Resources/config/routing.yml\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimatic%2Fuser-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimatic%2Fuser-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimatic%2Fuser-bundle/lists"}