繁体   English   中英

Symfony 4:删除用户角色后,access_control 不起作用

Symfony 4 : access_control doesn't work after deleting a user's role

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我尝试通过删除他的角色(拒绝访问用户ROLE_MEMBER ),在这里我access_control在security.yaml文件:

access_control:
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
    #- { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
    - { path: ^/admin/users, roles: ROLE_SUPER_ADMIN }
    - { path: ^/admin, roles: ROLE_ADMIN }
    - { path: ^/%locale%/.+/(edit|delete|add|request|accept|deny), roles: ROLE_MEMBER }

它似乎不起作用。 例如,用户仍然可以访问http://localhost:8000/fr/blog/edit/13并且当我在模板中显示这样的角色时:

{% for role in app.user.roles %}
    {{ role }}
{% endfor %}

我没有得到ROLE_MEMBER所以它被很好地删除了。 事实是我必须再次登录才能看到access_control工作。

我想知道用户存储在哪里(如该问题中提到的(答案的第 1 点) )以及如何在不重新登录的情况下生效?

问题暂未有回复.您可以查看右边的相关问题.
2 access_control不起作用

我想用access_control保护路由/ admin ,但是不起作用,我总是可以不登录而进入。 编辑 这是admin的路线: 如果我从access_control工作路线中删除了{_locale} ,我该如何解决? 这是Security.yml ...

4 Symfony 4 access_control按角色不起作用

我尝试在路线上设置访问级别,并编写了这个简单的security.yaml 问题是,当我尝试访问localhost:8000 / panel时 ,我得到AccessDeniedHttpException 这是我的用户角色转储 而且我还尝试不使用角色,而是使用角色或将ROLE_ ...

7 在Symfony2中测试access_control

我想测试我的access_control是否按预期工作,某些角色无权访问页面,而其他角色却有访问权。 我可以使用功能测试来做到这一点,登录每个用户并测试给定页面的响应。 我认为这种方式不太容易维护,并且想知道是否还有其他更好的方式? 我正在使用注释和access_control配置 ...

10 Symfony安全性access_control语法

我目前有以下代码,几乎可以完成我想要的工作。 我只有几件事不了解。 每个路径前面的^ /是什么? ^ / log后面的$是多少? 当我无权访问页面时,为什么会重定向到登录页面? 我在哪里设置或更改它? 有一种简单的方法可以授予我对首页(/)的访问权限,同时要求用户登录 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM