我对Symfony有些新意。我需要检查用户是否登录了每个页面请求。我创建了一个登录屏幕,并在用户表和会话变量中存储IP地址,会话ID,登录时间,用户名,id和一些其他变量。现在我必须在每个页面检查许多请求这些变量变量。有人可以告诉我在哪里做检查吗?
答案 0 :(得分:1)
您可能想要创建一个“preExecute”方法,即在任何控制器操作之前执行的操作。看看这里: How to create a something like Zend preDispatch method in Symfony2
答案 1 :(得分:1)
Symfony有一个非常高级的安全组件,您应该使用它而不是滚动自己的安全性。它将为您节省大量的麻烦。在此处阅读此安全组件:
http://symfony.com/doc/current/book/security.html
我还建议您使用FOSUserBundle,它是symfony安全性的一个很好的补充,并提供高级用户处理。你可以在这里找到这个包:
答案 2 :(得分:0)
您可以检查是否已授予IS_AUTHENTICATED_ANONYMOUSLY,IS_AUTHENTICATED或IS_AUTHENTICATED_FULLY
在控制器中,您可以使用security.context进行检查
http://symfony.com/doc/current/book/security.html#securing-a-controller