注册时在sfGuardUser上自动生成字段值

我正在构建一个使用sfDoctrineGuardPlugin进行用户/身份验证的Symfony 1.4项目。我的用户表上有一个名为“access_token”的字段,我希望在用户注册时填充自动生成的值。我看到,对于注册,
sfGuardRegisterForm
用于验证。不幸的是,当我从命令行运行
./symfony doctrine:build-forms
时,这个表单似乎没有被扩展,这意味着我无法在不编辑插件的情况下生成访问令牌。 或者,我正在考虑修改
sfRequest
参数,以便在尝试通过此表单进行验证之前手动设置“access_token”值。但是,由于我允许用户通过前端应用程序和API应用程序注册,这意味着我必须确保在两个地方手动填充此参数值,这似乎效率低下。然而,也许这实际上是正确的方法,并且尝试修改表单并不理想。 任何意见/建议?有人会做我在这里列出的想法吗? 编辑:我已经在名为
generateAccessToken
sfGuardUser
模型上创建了一个公共静态方法,它返回值。我只想找出在我的项目代码中调用它的最佳位置。     
已邀请:
sfDoctrineGuardPlugin不提供用户注册功能。这就是为什么你必须自己实现它。因此,在您的控制器中,您可以像使用symfony一样填充字段:
class myActions extends sfActions {
    public function executeRegistration(sfWebRequest $request) {
        ...
        $form = new myRegisterForm();
        $form->setDefault('access_token', sfGuardUser::generateAccessToken());
        ...
    }
}
access_token
小部件应该是
sfWidgetFormInputHidden
的实例。 希望这可以帮助。     

要回复问题请先登录注册