【发布时间】:2021-03-26 08:10:24
【问题描述】:
我正在使用 Laravel 8,我遇到了这种情况。只有拥有所有者角色的用户才能更新其员工。我为所有者、经理和员工提供了一张表,其结构如下所示。
| id | company_id | role_id | other_fields |
|---|
我知道如何授权所有者或经理修改员工数据并阻止不属于该特定公司的用户访问其他公司的页面。
但是,我不希望员工的 ID 出现在地址上,以避免在用户进行假设操作后返回 404 页面。我需要的是类似下面的东西。
my-domain.myapp/en/edit-employee/1
会变成这样
my-domain.myapp/en/edit-employee/
但要准确指向该员工的编辑页面。
如何将员工 id 传递给控制器而不通过路由并在编辑页面上看到正确的员工?
【问题讨论】:
-
您需要以一种或另一种方式发送用户 ID。你有什么好怕的呢?人们检查是否存在用户 ID 对吗?但是他们只有在他们是公司所有者的情况下才能做到这一点,对吧?我建议你坚持第一条路线,但不要在控制器中注入用户模型,而是手动找到模型。未找到您自己的用户 ID 代码中止。
标签: laravel laravel-routing laravel-8