Symfony 3.3中的安全检查位置
我使用Symfony 3.3中的安全检查位置,symfony,security,symfony-3.3,Symfony,Security,Symfony 3.3,我使用Symfony 3.3编写应用程序,而不使用FOSUserBundle。 典型的流量是: 控制器=>服务=>存储库=>实体 命令=>服务=>存储库=>实体 最初,我将所有isgrated和denyaccessunlessgrated调用放在服务中,但当我使用命令中的服务时,这会变得很混乱。我通过get('security.token\u storage')->setToken($token)对用户进行身份验证,从而入侵了这些命令,但看起来有点混乱 因为除了“hello world”的例
Symfony 3.3
编写应用程序,而不使用FOSUserBundle
。
典型的流量是:
- 控制器=>服务=>存储库=>实体
- 命令=>服务=>存储库=>实体
isgrated
和denyaccessunlessgrated
调用放在服务中,但当我使用命令中的服务时,这会变得很混乱。我通过get('security.token\u storage')->setToken($token)
对用户进行身份验证,从而入侵了这些命令,但看起来有点混乱
因为除了“hello world”的例子之外,我没有发现任何东西,所以我在这里问:
在何处执行安全检查方面是否有最佳做法?它们应该是控制器和命令内部还是服务内部?我会在控制器中进行安全检查。 假设您有一个控制器操作,该操作调用某个服务来修改某个实体。这种修改只能由特定类型的用户完成。 将用户从控制器传递到服务,然后检查用户是否被授权执行某些操作是没有意义的。 一开始就把它剪掉