Reputation: 12740
How should I modify security.yml in order to achieve this scenario?
SCENARIO:
student
, lecturer
and manager
can accesslecturer
and manager
can accessmanager
can accessAnd Which exact command should I run to create respective users?
I read the documentation and this post but I got confused!
routing.yml
home:
path: /
admin:
path: /admin
admin_private:
path: /admin/private
app/config/security.yml
security:
role_hierarchy:
ROLE_STUDENT: ?????????
ROLE_LECTURER: ????????????
ROLE_MANAGER: ???????
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ????????? }
- { path: ^/admin, role: ????????? }
- { path: ^/admin/private, role: ?????????? }
Upvotes: 0
Views: 123
Reputation: 4491
I think your security.yml
would looks like this:
security:
role_hierarchy:
ROLE_LECTURER: [ROLE_STUDENT]
ROLE_MANAGER: [ROLE_LECTURER]
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_STUDENT }
- { path: ^/admin, role: ROLE_LECTURER }
- { path: ^/admin/private, role: ROLE_MANAGER }
You can create each user and promote roles for them:
$ php app/console fos:user:create student
$ php app/console fos:user:promote student ROLE_STUDENT
$ php app/console fos:user:create lecturer
$ php app/console fos:user:promote lecturer ROLE_LECTURER
# ... etc.
Upvotes: 1