跨 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 的安全方法的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 3“包含”不检索“属于”

Cakephp 3 - 如何在验证过程中检索“表”类中的当前登录用户?

Cakephp 安全性

CakePHP:如何使用内部联接从两个表中检索数据?

在CakePHP 3中检索相关数据(hasMany)

一种高速跨网文件安全传输架构设计