首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用sfGuard保护Symfony中的整个控制器?

用sfGuard保护Symfony中的整个控制器?
EN

Stack Overflow用户
提问于 2011-07-29 17:50:37
回答 2查看 404关注 0票数 1

我在看sfGuard和Symfony关于安全的文件。但是我在任何地方都找不到有关保护整个控制器的信息。只有一个叫做安全的动作。

我试图使用preExecute方法调用forward404Unless($this->getUser()->hasGroup('admin')),但它不起作用。

是否可以使用security.yml和sfGuard来保护我在控制器中的操作?或者在symfony中有这样做的实践吗?编辑每个单独的控制器将是一件麻烦的事情,因为我不得不创建自定义安全性,这些安全性在未来可能会发生变化。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-29 23:14:53

symfony使用级联配置模式,允许您以一种更可重用和实用的方式配置所有项目/应用程序/模块/操作。由于安全性发生了同样的事情,您可以使用security.yml来定义访问限制。

如果您在应用程序文件夹中创建配置(即$sf_root/ app _name/ security.yml /security.yml)并指定如下内容:

代码语言:javascript
复制
default:
  is_secure:true

默认情况下,它会使你的所有应用程序安全(用户必须登录),允许你在合适的时候覆盖。假设文件模块有一个需要管理员凭据的操作"download“,但所有其他操作都可以由拥有”公共“和”管理员“凭据的用户使用,因此您必须在$sf_root/apps/app_name/ security.yml / file /config/中创建一个security.yml并定义:

代码语言:javascript
复制
all:
  credentials: [[ common , administrator]]

download:
  credentials: [ administrator ]

有关安全性和高级凭据的更多信息,请查看Action Security上的symfony页面

票数 1
EN

Stack Overflow用户

发布于 2011-07-29 18:35:10

您可以像这样使用security.yml

代码语言:javascript
复制
all:
  credentials: [admin]

不过,我不确定是否可以与团队一起工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6871335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档