Silex 是否支持自定义用户角色
Does Silex support custom user roles
过去几周我一直在玩 Silex,我即将开始一个重要的垫脚石。认证一直给我带来一些麻烦。
过去几天我一直在查看文档/示例,但似乎找不到我正在寻找的任何答案。
我可以告诉 Silex 支持 ROLE_ADMIN 和 ROLE_USER,但我没有看到任何 ROLE_SUPER_ADMIN。是否可以修改用户 provider/interface 来处理这个额外的角色,如果可以,我在哪里可以找到它的正确文档。
我认为角色是 "mostly" 任意的,因为您可以定义任何您想要的角色(例如:ROLE_AWESOME_USER
,等等...)但是 ROLE_USER
和 ROLE_ADMIN
似乎在 Symfony 测试以及核心 UserInterface.php
class.
中被引用
Silex documentation covering security should have most of what you need. There is also a pretty good example of a firewall setup in this so question here
这是我当前的默认防火墙配置:
'security.firewalls' => array(
'main' => array(
'pattern' => '^/',
'anonymous' => true,
'form' => array(
'login_path' => '/login',
'check_path' => '/login_check',
'username_parameter' => 'form[username]',
'password_parameter' => 'form[password]',
'form_login' => array(
'csrf_provider' => 'form.csrf_provider',
),
),
'logout' => array('logout_path' => '/logout'),
'users' => array(
'username' => array(
'%security.role%',
'%security.password%',
),
),
),
),
'security.role_hierarchy' => array(
'ROLE_USER' => array(),
'ROLE_ADMIN' => array('ROLE_USER'),
'ROLE_SUPER_ADMIN' => array('ROLE_USER','ROLE_ADMIN','ROLE_ALLOWED_TO_SWITCH'),
),
'security.access_rules' => array(
array('^/user', 'ROLE_USER'),
array('^/admin', 'ROLE_ADMIN'),
array('^/root', 'ROLE_SUPER_ADMIN'),
),
过去几周我一直在玩 Silex,我即将开始一个重要的垫脚石。认证一直给我带来一些麻烦。
过去几天我一直在查看文档/示例,但似乎找不到我正在寻找的任何答案。
我可以告诉 Silex 支持 ROLE_ADMIN 和 ROLE_USER,但我没有看到任何 ROLE_SUPER_ADMIN。是否可以修改用户 provider/interface 来处理这个额外的角色,如果可以,我在哪里可以找到它的正确文档。
我认为角色是 "mostly" 任意的,因为您可以定义任何您想要的角色(例如:ROLE_AWESOME_USER
,等等...)但是 ROLE_USER
和 ROLE_ADMIN
似乎在 Symfony 测试以及核心 UserInterface.php
class.
Silex documentation covering security should have most of what you need. There is also a pretty good example of a firewall setup in this so question here
这是我当前的默认防火墙配置:
'security.firewalls' => array(
'main' => array(
'pattern' => '^/',
'anonymous' => true,
'form' => array(
'login_path' => '/login',
'check_path' => '/login_check',
'username_parameter' => 'form[username]',
'password_parameter' => 'form[password]',
'form_login' => array(
'csrf_provider' => 'form.csrf_provider',
),
),
'logout' => array('logout_path' => '/logout'),
'users' => array(
'username' => array(
'%security.role%',
'%security.password%',
),
),
),
),
'security.role_hierarchy' => array(
'ROLE_USER' => array(),
'ROLE_ADMIN' => array('ROLE_USER'),
'ROLE_SUPER_ADMIN' => array('ROLE_USER','ROLE_ADMIN','ROLE_ALLOWED_TO_SWITCH'),
),
'security.access_rules' => array(
array('^/user', 'ROLE_USER'),
array('^/admin', 'ROLE_ADMIN'),
array('^/root', 'ROLE_SUPER_ADMIN'),
),