你好,我正在 Laravel 中开发一个项目,其中我需要为每个用户分配权限,以便我可以验证每个 Blade 文件或 Controller 功能,以检查当前用户是否有权执行此操作。此外,侧面导航链接也是使用这些权限动态生成的。 我创建了两个表:
1: User => [ID, Name .....]
2: Permissions => [ID, Name, user_id(fk)]
为了解决这个问题,我在登录时将用户的所有权限存储在 session 中。这样我就可以验证每个页面上的所有权限并生成从 session 中获取的链接。
这是好的方法还是有更好的解决方案
最佳答案
如果您能分享更多代码,那就太好了,但我可以看到您想要存档的内容。首先,您不需要存储在 session 中,因为您已经在用户对象和权限之间建立了关系。将这行代码添加到您的用户模型中:
public function permissions() {
return $this->belongsTo(User::class);
}
然后您就可以在 Blade 或 Controller 中访问该权限。 Controller 中的小例子:
$user = User::find(1);
dd($user->permissions);
// you can write a condition to check if user has Permission etc.
关于laravel - 在 session Laravel 中存储用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71482526/