Symfony1 允许用户更改自己的密码、电子邮件和个人资料
我正在创建自己的博客引擎来学习Symfony,我有一个问题: 由于sfGuardUser模块,我可以添加和编辑用户,但我如何允许用户只编辑他们的记录 用户应该可以访问允许他们编辑电子邮件、姓名、密码和个人资料的页面Symfony1 允许用户更改自己的密码、电子邮件和个人资料,symfony1,sfguard,sfdoctrineguard,Symfony1,Sfguard,Sfdoctrineguard,我正在创建自己的博客引擎来学习Symfony,我有一个问题: 由于sfGuardUser模块,我可以添加和编辑用户,但我如何允许用户只编辑他们的记录 用户应该可以访问允许他们编辑电子邮件、姓名、密码和个人资料的页面 有什么想法吗?在更新配置文件的操作中,您可以通过getId()方法检索用户对象,并对返回的对象应用更改 $user = sfGuardUserPeer::retrieveByPK( $this->getUser()->getGuardUser()->getId(
有什么想法吗?在更新配置文件的操作中,您可以通过
getId()
方法检索用户对象,并对返回的对象应用更改
$user = sfGuardUserPeer::retrieveByPK(
$this->getUser()->getGuardUser()->getId()
);
我找到了以下代码,今晚将尝试它
class sfGuardUserActions extends autoSfGuardUserActions {
public function executeEdit(sfWebRequest $request) {
$this->checkPerm($request);
parent::executeEdit($request);
}
public function checkPerm(sfWebRequest $request) {
$id = $request->getParameter('id');
$user = sfContext::getInstance()->getUser();
$user_id = $user->getGuardUser()->getId();
if ($id != $user_id && !($user->hasCredential('admin'))) {
$this->redirect('sfGuardAuth/secure');
}
} }
from禁止用户编辑其他用户的个人资料,但不能正确保存用户信息