我在看sfGuard和Symfony关于安全的文件。但是我在任何地方都找不到有关保护整个控制器的信息。只有一个叫做安全的动作。
我试图使用preExecute方法调用forward404Unless($this->getUser()->hasGroup('admin')),但它不起作用。
是否可以使用security.yml和sfGuard来保护我在控制器中的操作?或者在symfony中有这样做的实践吗?编辑每个单独的控制器将是一件麻烦的事情,因为我不得不创建自定义安全性,这些安全性在未来可能会发生变化。
谢谢。
发布于 2011-07-29 23:14:53
symfony使用级联配置模式,允许您以一种更可重用和实用的方式配置所有项目/应用程序/模块/操作。由于安全性发生了同样的事情,您可以使用security.yml来定义访问限制。
如果您在应用程序文件夹中创建配置(即$sf_root/ app _name/ security.yml /security.yml)并指定如下内容:
default:
is_secure:true默认情况下,它会使你的所有应用程序安全(用户必须登录),允许你在合适的时候覆盖。假设文件模块有一个需要管理员凭据的操作"download“,但所有其他操作都可以由拥有”公共“和”管理员“凭据的用户使用,因此您必须在$sf_root/apps/app_name/ security.yml / file /config/中创建一个security.yml并定义:
all:
credentials: [[ common , administrator]]
download:
credentials: [ administrator ]有关安全性和高级凭据的更多信息,请查看Action Security上的symfony页面
发布于 2011-07-29 18:35:10
您可以像这样使用security.yml:
all:
credentials: [admin]不过,我不确定是否可以与团队一起工作。
https://stackoverflow.com/questions/6871335
复制相似问题