php使用5.2.,php – 正确使用laravel 5.2中的策略?我不能

我有一个问题,我不能在laravel 5.2中使用策略.

我有2张桌子,学生和任务.

我尝试应用策略来阻止通过更改URL来编辑任务,但我总是收到消息此操作未经授权,尽管任务是正确的用户.

政策代码:

namespace App\Policies;

use App\Models\Student;

use App\Models\Task;

class TasksPolicy

{

public function edit(Student $student, Task $tasks)

{

return $student->id === $tasks->student_id;

}

}

AuthServiceProvider.php中的代码

namespace App\Providers;

use App\Models\Task;

use App\Policies\TasksPolicy;

class AuthServiceProvider extends ServiceProvider

{

/**

* The policy mappings for the application.

*

* @var array

*/

protected $policies = [

Task::class => TasksPolicy::class

];

然后在TaskController.php文件中调用:

public function edit($id)

{

$tasks = Task::findOrFail($id);

$this->authorize('edit', $tasks);

return view('tasks.edit', compact('tasks'));

}

我认为代码很好,因为我已多次修改,但正如我之前所说,我总是收到消息此操作未经授权,但任务是编辑用户.

我究竟做错了什么?我可以正确使用该政策吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值