文档是隐藏了什么,还是隐藏了什么?
创建与
php手工制作:策略AdvertisementPolicy --模型=广告
class AdvertisementPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any advertisements.
*
* @param \App\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,在这里,是否有其他步骤来完成这项政策登记?
发布于 2019-11-05 19:54:26
文档中没有隐藏的东西。你只是没有仔细阅读文档。
请看一下使用策略授权操作部分。
您的策略从未被调用,因为您在代码中的任何地方都不使用它。至少,如果您需要为您的控制器资源运行您的策略,您需要编写如下内容:
<?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');
}
}https://stackoverflow.com/questions/58718327
复制相似问题