From 44f8da3750b13d72d0a6d82d32bfe5622d6c866c Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Sun, 12 Mar 2023 00:44:48 +0100 Subject: [PATCH] add roles --- docs/_static/img/tree/roles.png | Bin 0 -> 40695 bytes docs/tree/node.md | 15 +++++++++++++++ docs/users.md | 1 + 3 files changed, 16 insertions(+) create mode 100644 docs/_static/img/tree/roles.png diff --git a/docs/_static/img/tree/roles.png b/docs/_static/img/tree/roles.png new file mode 100644 index 0000000000000000000000000000000000000000..444a167e4e2d690649e3daa6676ff58bf80b094f GIT binary patch literal 40695 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 literal 0 HcmV?d00001 diff --git a/docs/tree/node.md b/docs/tree/node.md index ffd8811..8d0726d 100644 --- a/docs/tree/node.md +++ b/docs/tree/node.md @@ -32,6 +32,21 @@ core: - {name: 'Bar', action: 'App\Controller\OtherController::bar'} ``` +If you need to restrict the access, you can provided a list of roles in the configuration: + +```yaml title="config/packages/app.yaml" +core: + site: + security: + roles: + - {name: 'Foo role', role: 'ROLE_FOO'} + - {name: 'Bar role', role: 'ROLE_BAR'} +``` + +Then you will be able to select what roles are required: + +![](/_static/img/tree/roles.png) + ## Attributes Attributes are a collection of keys and values attached to a node (eg: class, icon, whatever you want). diff --git a/docs/users.md b/docs/users.md index c204f32..be42a6b 100644 --- a/docs/users.md +++ b/docs/users.md @@ -1,2 +1,3 @@ # Users +Murph provided a basic authentication based on the `User` entity.