文档是否隐藏了某些内容,还是有隐藏的内容?
我用过:
php artisan make:policy AdvertisementPolicy --model=Advertisement
class AdvertisementPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any advertisements.
*
* @param User $user
* @return mixed
*/
public function viewAny(User $user)
{
return false;
}
public function view(User $user, Advertisement $advertisement)
{
return false;
}
}
该模型也是使用CLI创建的。
namespace App;
class Advertisement extends Model
{
通过以下方式注册:
use App\Advertisement;
use App\Policies\AdvertisementPolicy;
class AuthServiceProvider extends ServiceProvider
{
protected $policies = [
Advertisement::class => AdvertisementPolicy::class,
在Laravel 6中是否还有其他步骤可以完成此策略注册?
答案 0 :(得分:2)
文档中没有任何隐藏内容。您只是没有仔细阅读文档。
请查看Authorizing Actions Using Policies部分。
从不调用您的策略,因为您不在代码中的任何地方使用它。至少,如果您需要为控制器资源运行策略,则需要编写如下内容:
<?php
namespace App\Http\Controllers;
use App\Advertisement;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class AdvertisementController extends Controller
{
public function __construct()
{
$this->authorizeResource(Advertisement::class, 'advertisement');
}
}