1

私はSymfonyを学ぶために自分のブログエンジンを作成しています、そして私は質問があります:

sfGuardUserモジュールのおかげでユーザーを追加および編集できますが、ユーザーが自分のレコードのみを編集できるようにするにはどうすればよいですか?

ユーザーは、自分の電子メール、名前、パスワード、およびプロファイルを編集できるページにアクセスできる必要があります。

何か案は ?

4

2 に答える 2

0

次のコードを見つけました。今夜試してみます。

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');
        }
    } }

http://oldforum.symfony-project.org/index.php/m/96776/から

于 2011-01-26T15:50:47.347 に答える
0

プロファイルが更新されるアクションでは、getId()メソッドを介してユーザーオブジェクトを取得し、返されたオブジェクトに変更を適用します。

$user = sfGuardUserPeer::retrieveByPK(
  $this->getUser()->getGuardUser()->getId()
);
于 2011-01-25T12:22:42.627 に答える