我在我的测试项目中使用了SfDoctrine guard。我还使用SfForkedApply来注册和管理帐户。我设置了3种类型的权限:“用户”、“创建者”、“管理员”。我的问题是:当我用sfForkedApply创建账号时,如何自动为这个新用户设置" user“权限。
发布于 2012-02-08 07:42:12
不知道您的确切详细信息,但您可能需要覆盖'user register‘表单的doSave方法并设置用户权限。
发布于 2012-02-09 02:14:36
Vlad你帮了我很大的忙:)在doSave中,我添加了4行,evriting是可以的:)这是代码。它是有效的:)
public function doSave($con = null)
{
$user = new sfGuardUser();
$user->setUsername($this->getValue('username'));
$user->setPassword($this->getValue('password'));
$user->setEmailAddress( $this->getValue('email') );
// They must confirm their account first
$user->setIsActive(false);
$user->save();
$this->getObject()->setUserId($user->getId());
//THIS LINE I ADDED
$permission = new sfGuardUserPermission();
$permission->setPermissionId('1');
$permission->setUserId($user->getId());
$permission->save();
return parent::doSave($con);
}https://stackoverflow.com/questions/9185311
复制相似问题