symfony 1.4 security.yml覆盖默认凭据配置

时间:2011-12-08 14:55:21

标签: symfony1 symfony-1.4

我有一个只能由admin访问的模块,但所有经过身份验证的用户都可以访问的单个操作除外。

有没有办法重置该单个操作的凭据?我试图使用null但仍然得到403错误。列出security.yml中的所有操作是唯一的解决方案吗?

default:
  credentials: [ admin ]

public:
  credentials: null

3 个答案:

答案 0 :(得分:2)

您是否尝试设置空数组或凭证?

public:
  credentials: [ ]

答案 1 :(得分:0)

是的,如果您希望对谁有权访问哪些内容进行细粒度控制,则必须列出所有操作。

或者,另一种方式(尽管很丑陋)是将不需要任何凭据的操作设置为is_secure : false,然后检查它们是否通过控制器中的操作进行了身份验证。

此外,如果您希望使用凭据,则应将每个用户设置为具有默认凭据。即使用名为'user'的凭证

出于兴趣:您对此模块采取了多少措施?

编辑:此外,如果您使用~代替null会怎样?

答案 2 :(得分:0)

如果您想让所有凭据(sf1.4 ad reference

的已登录用户都可以访问,则必须在公共操作中写入所有允许的凭据

..或者你可以向全世界开放行动:

default:
  is_secure: true

myPublicAction:
  is_secure: false