允许用户更改自己的密码、电子邮件和个人资料

发布于 2024-10-13 14:13:29 字数 160 浏览 4 评论 0原文

我正在创建自己的博客引擎来学习 Symfony,我有一个问题:

借助 sfGuardUser 模块,我可以添加和编辑用户,但是如何允许用户仅编辑他们的记录?

用户应该有权访问允许他们编辑电子邮件、姓名、密码和个人资料的页面。

有什么想法吗?

I'm creating my own blog engine to learn Symfony, and I have a question :

I can add and edit users thanks to the sfGuardUser module, but how can I allow users to edit only their reccord ?

Users should have access to a page allowing them to edit their email, name, password, and Profile.

Any ideas ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

可爱暴击 2024-10-20 14:13:29

在更新配置文件的操作中,您可以通过 getId() 方法检索用户对象,并将更改应用于返回的对象。

$user = sfGuardUserPeer::retrieveByPK(
  $this->getUser()->getGuardUser()->getId()
);

In the action where the profile is updated you retrieve the users object via the getId() method and apply the changes on the returning object.

$user = sfGuardUserPeer::retrieveByPK(
  $this->getUser()->getGuardUser()->getId()
);
夜吻♂芭芘 2024-10-20 14:13:29

我找到了以下代码,今晚会尝试一下。

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/

I found the following code, will try it tonight.

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 http://oldforum.symfony-project.org/index.php/m/96776/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文