私はSymfonyを学ぶために自分のブログエンジンを作成しています、そして私は質問があります:
sfGuardUserモジュールのおかげでユーザーを追加および編集できますが、ユーザーが自分のレコードのみを編集できるようにするにはどうすればよいですか?
ユーザーは、自分の電子メール、名前、パスワード、およびプロファイルを編集できるページにアクセスできる必要があります。
何か案は ?
私はSymfonyを学ぶために自分のブログエンジンを作成しています、そして私は質問があります:
sfGuardUserモジュールのおかげでユーザーを追加および編集できますが、ユーザーが自分のレコードのみを編集できるようにするにはどうすればよいですか?
ユーザーは、自分の電子メール、名前、パスワード、およびプロファイルを編集できるページにアクセスできる必要があります。
何か案は ?
次のコードを見つけました。今夜試してみます。
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()
);