0

假设我们有 3 个应用程序-appMain和.app1app2

应用程序 1 和 2 受到保护,它们具有is_secure: true并且使用 sfDoctrineGuard 插件一切正常。

我想要实现的一种行为是,当用户未通过身份验证时,当前应用程序将他转发给另一个用户,例如appMain使用已定义的模块和操作。

那可能吗?或者有人可以告诉我在哪里挖掘 symfony 中的安全机制?

4

3 回答 3

1

制作绝对网址并重定向到那里(“保持简单,愚蠢”)。

于 2010-12-26T19:15:07.570 回答
0

好的,现在我得到了这个工作。首先,应用程序转发到安全模块/操作,并在该操作中重定向到主应用程序的 url,该 url 处理身份验证并再次重定向回来。

多谢你们。

于 2010-12-27T04:07:01.850 回答
0

假设你有标准的应用程序/前端,那么在应用程序/前端/配置中会有一个文件 settings.yml

在此处的默认部分执行以下操作

default:
  .actions:
    error_404_module:       content
    error_404_action:       404

    login_module:           security
    login_action:           login

然后这将重定向到安全/登录(或任何你称之为模块和模板的东西)

我通常将顶级 apps/frontend/config/security.yml 设置为 ..

default:
  is_secure: true

这可以保护整个站点,然后在任何可公开访问的模块中,在这种情况下,安全性创建一个 config.yml 并设置如下

default:
  is_secure: false

然后,当用户按如下方式登录时,您将需要存储已验证为真的事实

$this->getUser()->setAuthenticated(true);

[编辑] 应该指出我没有使用 sfDoctrineGuard

于 2010-12-26T11:59:19.460 回答