security:
encoders:
- Wallabag\CoreBundle\Entity\User:
- algorithm: sha1
- encode_as_base64: false
- iterations: 1
+ FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
- ROLE_ADMIN: ROLE_USER
+ ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
providers:
administrators:
- entity: { class: WallabagCoreBundle:User, property: username }
+ entity:
+ class: WallabagUserBundle:User
+ property: username
+ fos_userbundle:
+ id: fos_user.user_provider.username_email
# the main part of the security, where you can set up firewalls
# for specific sections of your app
firewalls:
- wsse_secured:
- pattern: /api/.*
- wsse: true
- stateless: true
- anonymous: true
+ # disables authentication for assets and the profiler, adapt it according to your needs
+ dev:
+ pattern: ^/(_(profiler|wdt)|css|images|js)/
+ security: false
+
+ oauth_token:
+ pattern: ^/oauth/v2/token
+ security: false
+
+ api:
+ pattern: /api/.*
+ fos_oauth: true
+ stateless: true
+ anonymous: true
+
login_firewall:
- pattern: ^/login$
+ pattern: ^/login$
anonymous: ~
secured_area:
- pattern: ^/
- anonymous: ~
+ pattern: ^/
form_login:
- login_path: /login
-
- use_forward: false
-
- check_path: /login_check
-
- post_only: true
-
- always_use_default_target_path: true
- default_target_path: /
- target_path_parameter: redirect_url
- use_referer: true
-
- failure_path: null
- failure_forward: false
-
- username_parameter: _username
- password_parameter: _password
+ provider: fos_userbundle
+ csrf_token_generator: security.csrf.token_manager
- csrf_parameter: _csrf_token
- intention: authenticate
+ anonymous: true
+ remember_me:
+ secret: "%secret%"
+ lifetime: 31536000
+ path: /
+ domain: ~
logout:
path: /logout
target: /
access_control:
- - { path: ^/api/salt, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+ - { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+ - { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+ - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
+ - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
+ - { path: /(unread|starred|archive|all).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+ - { path: /tags/(.*).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+ - { path: ^/share, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+ - { path: ^/settings, roles: ROLE_SUPER_ADMIN }
+ - { path: ^/annotations, roles: ROLE_USER }
+ - { path: ^/users, roles: ROLE_SUPER_ADMIN }
- { path: ^/, roles: ROLE_USER }