跨 CakePHP 检索和传输用户 ID 的安全方法
Posted
技术标签:
【中文标题】跨 CakePHP 检索和传输用户 ID 的安全方法【英文标题】:Safe way to retrieve and transfer User-Id across CakePHP 【发布时间】:2011-07-10 06:49:19 【问题描述】:我是 CakeNoob,所以请接受我对这个问题的诚挚歉意。
用户在我的 Web 应用中添加他们的帐户后,他们将被重定向到用户/视图,他们可以在其中查看他们的帐户详细信息并进行编辑。
这里有指向成就/添加的链接,人们可以在其中将成就添加到他们的个人资料中。 User 和Achievement 模型通过belongsTo 和HasMany 关联很好地耦合在一起。一旦用户添加了一个成就,它将通过相关的成就显示在用户/查看页面中。
问题:一旦我通过成就/添加手动添加成就(并从列表中选择当前用户(全部)),它就可以正常工作。
但我希望只有当用户来自用户/视图时才能添加成就,所以我需要将用户 ID 传输到成就/添加,然后告诉 Cake这是要使用的用户 ID(外键) .
所有用户在到达用户/视图后都已登录,所以我想 Auth 会话可能会对我有所帮助。我尝试了很多事情,但我的知识太少,无法解决这个问题。感谢您的解决方案!谢谢
【问题讨论】:
您使用哪种服务器编程语言? 【参考方案1】:如果使用“Auth”注册登录,可以使用$this->Auth->user('id');在整个应用程序中获取用户 ID
【讨论】:
谢谢,如何将此用户 ID 添加到控制器中的 $this->data 以将其保存到数据库中?$this->data['id'] = $this->Auth->user('id');
【参考方案2】:
您可以使用以下方式保存它:
$this->data['User']['id'] = $this->Auth->user('id');
$this->User->save($this->data);
【讨论】:
以上是关于跨 CakePHP 检索和传输用户 ID 的安全方法的主要内容,如果未能解决你的问题,请参考以下文章