laravel 权限验证三板斧

laravel做网站过程中,往往会涉及到权限认证功能,这样不仅能很好的保护用户的隐私,也是网站安全的保证。那么接下来就是创建权限文件认证的几步:

解析:laravel 给网站相应页面加上权限验证,只能对应的用户才能看到。

1.现在创建对应的 Policy 文件:

$ php artisan make:policy InstallmentPolicy --model=Models\\Installment

2.通过命令创建权限验证文件

InstallmentPolicy 并关联 Installment 模型并编辑权限文件
app/Policies/InstallmentPolicy.php

<?php

namespace App\Policies;

use App\Models\User;
use App\Models\Installment;
use Illuminate\Auth\Access\HandlesAuthorization;

class InstallmentPolicy
{
    use HandlesAuthorization;

    public function own(User $user, Installment $installment)
    {
        return $installment->user_id == $user->id;
    }
}

3.现在到 AuthServiceProvider 中注册模型与策略文件的关联:

app/Providers/AuthServiceProvider.php

use App\Models\Installment;
use App\Policies\InstallmentPolicy;
.
.
.
    protected $policies = [
        .
        .
        .
        Installment::class => InstallmentPolicy::class,
    ];

4.最后我们需要在控制器中调用权限检查:

app/Http/Controllers/InstallmentsController.php
    public function show(Installment $installment)
    {
        $this->authorize('own', $installment);
        .
        .
        .
    }

这样我们自己做网站权限认证就完成了 づ ̄ 3 ̄)づ

阅读 129

Comments