Symfony取代身份验证检查功能

时间:2012-09-12 07:38:23

标签: php authentication symfony

我对Symfony有些新意。我需要检查用户是否登录了每个页面请求。我创建了一个登录屏幕,并在用户表和会话变量中存储IP地址,会话ID,登录时间,用户名,id和一些其他变量。现在我必须在每个页面检查许多请求这些变量变量。有人可以告诉我在哪里做检查吗?

3 个答案:

答案 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安全性的一个很好的补充,并提供高级用户处理。你可以在这里找到这个包:

https://github.com/FriendsOfSymfony/FOSUserBundle

答案 2 :(得分:0)

您可以检查是否已授予IS_AUTHENTICATED_ANONYMOUSLY,IS_AUTHENTICATED或IS_AUTHENTICATED_FULLY

在控制器中,您可以使用security.context进行检查

http://symfony.com/doc/current/book/security.html#securing-a-controller