laravel - 在 session Laravel 中存储用户角色

标签 laravel user-permissions user-roles laravel-session

你好,我正在 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/

相关文章:

.net - 设置用户/角色管理系统 - Multi-Tenancy

php - Laravel:页面上带有 url 参数的表单

php - 向 Laravel 样板用户模型添加新字段

php - 阻止访问页面 Zend Framework

c# - 如何获取使用 System.Diagnostics.Process.GetProcess(string) 的权限?

asp.net-mvc-4 - 如何将角色不正确的用户重定向到“不允许”?

php - Laravel 数据透视表上的 Uuid

php - sqlstate[42703] 在 heroku 上是什么意思?

windows - 为什么我的 Delphi 6 程序在安装时仅在少数 Windows 7 系统 (InnoSetup) 上触发管理员权限请求?

php - 针对特定用户角色显示含税或不含税的 WooCommerce 产品价格