【发布时间】:2012-09-05 04:27:08
【问题描述】:
我对 Symfony 有点陌生。我需要检查用户是否在每个页面请求上都登录。我创建了一个登录屏幕,并将 IP 地址、会话 ID、登录时间、用户名、ID 和其他一些变量存储在用户表和会话变量中。现在我必须在每个页面请求中检查许多这些变量变量。谁能告诉我在哪里进行检查?
【问题讨论】:
标签: php authentication symfony
我对 Symfony 有点陌生。我需要检查用户是否在每个页面请求上都登录。我创建了一个登录屏幕,并将 IP 地址、会话 ID、登录时间、用户名、ID 和其他一些变量存储在用户表和会话变量中。现在我必须在每个页面请求中检查许多这些变量变量。谁能告诉我在哪里进行检查?
【问题讨论】:
标签: php authentication symfony
您可能想要创建一个“preExecute”方法,即在您的任何控制器操作之前执行的东西。看看这里: How to create a something like Zend preDispatch method in Symfony2
【讨论】:
Symfony 有一个非常先进的安全组件,你应该使用它而不是滚动你自己的安全。它将为您节省大量的头痛。在此处阅读有关此安全组件的信息:
http://symfony.com/doc/current/book/security.html
我还建议您使用 FOSUserBundle,它是 symfony 安全性的一个很好的补充,它提供了高级用户处理。您可以在此处找到此捆绑包:
【讨论】:
您可以检查是否授予 IS_AUTHENTICATED_ANONYMOUSLY、IS_AUTHENTICATED 或 IS_AUTHENTICATED_FULLY
在控制器中,您可以使用 security.context 进行检查
http://symfony.com/doc/current/book/security.html#securing-a-controller
【讨论】: