Symfony Security访问控制无法响应数据库中的用户更改

时间:2019-02-28 17:32:10

标签: symfony security session entity access-control

我的用户提供者设置为“用户实体”。

该实体具有getRoles()模型,并且可以正常工作。

我的问题是:

  • 网站中有两个用户角色(管理员常规
  • 常规用户无法访问对象的创建( access_control 已设置为只有管理员可以执行此操作)
  • 用户仍然具有“ 常规”角色时登录
  • 我去在数据库中编辑此“ 常规”用户,并将其设置为“管理员”
  • 用户仍处于登录状态,access_control仍将其视为“ 常规
  • $ this-> getUser()-> getRoles()具有“ 管理员”角色。
  • 用户仍然无法访问对象创建路径,因为access_control假定他仍为“ 常规
  • 他必须重新登录,然后, access_control 才允许他访问对象创建路径。

我该如何做,以便将数据库更改应用于会话而不必注销?

2 个答案:

答案 0 :(得分:1)

我认为this question与您相似。可接受的答案是:

<div class="m-container2 pull-left">
<input type="hidden" name="match_id" value="{{$match->id}}" />
<div id="stream" value ="{{$match->stream}}"></div>
</div>

答案 1 :(得分:0)

我和Symfony的选民一起去了:https://symfony.com/doc/current/security/voters.html

没有安全角色,如果没有注销就无法实现。