我創造我自己的博客引擎學習Symfony的,我有一個問題:允許用戶更改自己的密碼,電子郵件和個人
我可以添加和編輯用戶感謝sfGuardUser模塊,但我如何讓用戶只編輯他們的reccord?
用戶應該有權訪問允許他們編輯電子郵件,姓名,密碼和個人資料的頁面。
任何想法?
我創造我自己的博客引擎學習Symfony的,我有一個問題:允許用戶更改自己的密碼,電子郵件和個人
我可以添加和編輯用戶感謝sfGuardUser模塊,但我如何讓用戶只編輯他們的reccord?
用戶應該有權訪問允許他們編輯電子郵件,姓名,密碼和個人資料的頁面。
任何想法?
我發現下面的代碼,今晚會試一下。
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');
}
} }
在更新配置文件的操作中,通過getId()
方法檢索用戶對象,並將更改應用於返回的對象。
$user = sfGuardUserPeer::retrieveByPK(
$this->getUser()->getGuardUser()->getId()
);
這是通過禁止用戶編輯其他用戶的個人資料,但並不正確保存用戶信息 – Manu 2011-01-31 14:42:23