Php 使用sfGuard在Symfony中保护整个控制器?

Php 使用sfGuard在Symfony中保护整个控制器?,php,symfony1,controller,action,sfguard,Php,Symfony1,Controller,Action,Sfguard,我在看sfGuard和Symfony关于安全的文件。但我找不到任何关于保护整个控制器的信息。只有所谓的行动安全 我尝试使用preExecute方法调用forward404($this->getUser()->hasGroup('admin')) 是否可以使用security.yml和sfGuard在控制器中保护我的操作?或者在symfony有这样做的实践吗?编辑每一个控制器将是一件麻烦事,我必须创建自定义的安全性,这些安全性将来可能会改变 谢谢。您可以像这样使用security.yml: all

我在看sfGuard和Symfony关于安全的文件。但我找不到任何关于保护整个控制器的信息。只有所谓的行动安全

我尝试使用
preExecute
方法调用
forward404($this->getUser()->hasGroup('admin'))

是否可以使用security.yml和sfGuard在控制器中保护我的操作?或者在symfony有这样做的实践吗?编辑每一个控制器将是一件麻烦事,我必须创建自定义的安全性,这些安全性将来可能会改变


谢谢。

您可以像这样使用
security.yml

all:
  credentials: [admin]
default:
  is_secure:true

不过,我不确定是否与团队合作。

好吧,symfony使用级联配置模式,这些模式允许您以更可重用和实用的方式配置所有项目/应用程序/模块/操作。使用security时,可以使用security.yml定义访问限制

如果在app文件夹中创建security.yml(即$sf_root/app_name/config/security.yml)并指定如下内容:

all:
  credentials: [admin]
default:
  is_secure:true
默认情况下,它将使您的所有应用程序安全(用户必须登录),允许您在获得批准时覆盖。假设文件模块有一个需要administrator凭据的操作“下载”,但所有其他操作都可以由具有“通用”和“管理员”凭据的用户使用,因此您必须在$sf_root/apps/app_name/modules/file/config/处创建security.yml并定义:

all:
  credentials: [[ common , administrator]]

download:
  credentials: [ administrator ]
有关安全性和高级凭据的更多信息,请查看上的symfony页面