Symfony1 symfony 1.4:尝试管理操作的凭据
我们希望从管理后端操作的凭据 后端 如何获取应用程序的操作列表?在那之后我们可以展示 通过getCredential()获取每个用户的凭据 第二个问题:我找到了获取操作凭据的函数 (getCredential()),但如何设置凭据?我没找到 setCredential()函数Symfony1 symfony 1.4:尝试管理操作的凭据,symfony1,Symfony1,我们希望从管理后端操作的凭据 后端 如何获取应用程序的操作列表?在那之后我们可以展示 通过getCredential()获取每个用户的凭据 第二个问题:我找到了获取操作凭据的函数 (getCredential()),但如何设置凭据?我没找到 setCredential()函数 Javi获取应用程序的操作列表与凭据无关。如何命名或组织凭证是一个惯例问题。操作和凭据是独立的。您可以为整个应用程序提供一个凭据,也可以为每个操作定义一个凭据。不过,您可以单独管理凭证 如果您真的想获得操作列表,可以解析路
Javi获取应用程序的操作列表与凭据无关。如何命名或组织凭证是一个惯例问题。操作和凭据是独立的。您可以为整个应用程序提供一个凭据,也可以为每个操作定义一个凭据。不过,您可以单独管理凭证 如果您真的想获得操作列表,可以解析路由文件 您还可以使用PHP的反射机制从action类中获取方法 但是,sfDoctrineGuardPlugin/sfGuardPlugin为大多数应用程序提供了足够的凭据管理。我宁愿采用这种方法
2n问题:没有setCredential()方法,但有一个addCredential()。让我们先从第二个问题开始,以巩固我们对Symfony中凭据如何工作的理解 Symfony中的凭据通过模块的
config
目录下的security.yml
文件进行设置。security.yml文件可能如下所示:
all:
is_secure: true #makes all methods on this action require user's to be authenticated
edit:
credentials: [admin]
show:
is_secure: false #don't require authentication for this one
您无法从后端更改操作的安全设置,除非您希望实际写入新的YAML文件并从缓存中清除旧的YAML文件(不推荐)。如果您真的需要操作上的动态凭据,我会存储某种类型的开关(锁文件、APC、数据库),并使用过滤器动态设置所需的凭据(也不推荐)
你不能用标准的用户/组/权限设置做任何你想做的事情吗?关于这是否是个好主意,我同意很多人已经说过的话 不管怎样,做我认为你要求的事情: 操作所需的凭据来自sfAction中的此方法:
public function getCredential()
{
return $this->getSecurityValue('credentials');
}
如果您想做一些更复杂的事情,比如从数据库或其他来源获取凭据,您可以在操作中重载它(或者在sfActions的新子类中扩展它,并让您的所有操作都扩展它)。您好,再次感谢您的回复。读/写每个security.yml文件怎么样?然后,我将解析每个文件,查找“credentials:”键所在的行,并在该行中添加/删除凭据…您好,再次感谢您的回复。读/写每个security.yml文件怎么样?然后,我将解析每个文件,查找“credentials:”键所在的行,并在该行中添加/删除凭据…您好,再次感谢您的回复。读/写每个security.yml文件怎么样?然后我将解析每个文件,查找“credentials:”键所在的行,并在该行中添加/删除凭据。。。