Pimcore User, Object, Asset and Document Authentication

Installs: 63 311

Dependents: 0

Suggesters: 0

Security: 0

Stars: 54

Watchers: 16

Forks: 34

Open Issues: 4

Type:pimcore-bundle


README

Add frontend user authentication and document restriction to pimcore.

Join the chat at https://gitter.im/pimcore/pimcore Software License Latest Release Tests PhpStan

Release Plan

Features

  • Create Members in backend
  • Allow Members to register in frontend
  • Restrict documents, objects and assets to specific user roles

Installation

Please read the installation instructions before going deep with Members!

Composer Installation

  1. Add code below to your composer.json
"require" : {
    "dachcom-digital/members" : "~5.0.0"
}

Add Bundle to bundles.php:

return [
    MembersBundle\MembersBundle::class => ['all' => true],
];
  • Execute: $ bin/console pimcore:bundle:install MembersBundle

Upgrading

  • Execute: $ bin/console doctrine:migrations:migrate --prefix 'MembersBundle\Migrations'

Optional: Class Installation

Read more about the required classes below).

bin/console members:install:class

Security Installation

It is not possible to merge security configurations from multiple locations, including bundles. Instead, you have to move them to one single config file, e.g. config/packages/security.yaml. Please adopt security_auth_manager.yaml and merge your own firewall configuration into one single file.

Route Installation

MembersBundle does not include any routes per default. Otherwise, it would be hard for you to change or override included routes.

Include all Routes

# config/routes.yaml
app:
    resource: '@MembersBundle/config/pimcore/routing/all.yaml'

Just include some Routes

# config/routes.yaml
members_auth:
    resource: '@MembersBundle/config/pimcore/routing/auth.yaml'
    prefix: /{_locale}/members #change your prefix if you have to.

Class Installation

Since Members should be the one and only frontend authentication bundle, we need to add the most flexibility as possible. But no worries, it's still simple to integrate.

There is also a class installer command. If you're not using any special class configuration, feel free to use this command: $ bin/console members:install:class Use the -o argument to also install the SsoIdentity Class

You need two classes: User and Group. So let's create it:

User

  1. Create a class and call it MembersUser
  2. Add parent class: \MembersBundle\Adapter\User\AbstractUser
  3. Add fields:

membersUser is the default name, you may want to change it. Read here how to achieve that.

Customer Data Framework

If you want to use the Customer Data Framework you need to do some further work. Read more about it here.

SSO Login

You want to enable the SSO Feature in Members? Read more about it here.

Group

  1. Create a class and call it MembersGroup
  2. Add parent class: \MembersBundle\Adapter\Group\AbstractGroup
  3. Add fields:

membersGroup is the default name, you may want to change it. Read here how to achieve that.

Feel free to add additional fields since those are just the required ones. That's it. Members will use those classes to manage authentication and group management.

Email Configuration

You're almost there, just check the email configuration and you're good to go.

User Management: Further Information

Restrictions

Learn more about the Members Restriction feature:

Single Sign On (SSO) with OAuth2

Upgrade Info

Before updating, please check our upgrade notes!

Copyright and license

Copyright: DACHCOM.DIGITAL
For licensing details please visit LICENSE.md