-2

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

4

3 回答 3

1

您可能想要创建一个“preExecute”方法,即在您的任何控制器操作之前执行的方法。看看这里: 如何在 Symfony2 中创建类似 Zend preDispatch 方法

于 2012-09-12T07:45:50.893 回答
1

Symfony 有一个非常先进的安全组件,你应该使用它而不是滚动你自己的安全。它将为您节省大量的头痛。在此处阅读有关此安全组件的信息:

http://symfony.com/doc/current/book/security.html

我还建议你使用 FOSUserBundle,它是 symfony 安全性的一个很好的补充,它提供了高级用户处理。您可以在此处找到此捆绑包:

https://github.com/FriendsOfSymfony/FOSUserBundle

于 2012-09-12T08:44:05.533 回答
0

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

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

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

于 2012-09-12T07:48:15.737 回答