Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未调用Laravel策略_Laravel_Laravel 6 - Fatal编程技术网

未调用Laravel策略

未调用Laravel策略,laravel,laravel-6,Laravel,Laravel 6,文档是否隐藏了某些内容,或者是否存在隐藏的内容 我用过: php artisan make:policy AdvertisementPolicy --model=Advertisement 类广告策略 { 使用免提授权; /** *确定用户是否可以查看任何广告。 * *@param User$User *@返回混合 */ 公共函数viewAny(用户$User) { 返回false; } 公共功能视图(用户$用户,广告$广告) { 返回false; } } 该模型也是使用CLI创建的 nam

文档是否隐藏了某些内容,或者是否存在隐藏的内容

我用过:

php artisan make:policy AdvertisementPolicy --model=Advertisement
类广告策略
{
使用免提授权;
/**
*确定用户是否可以查看任何广告。
*
*@param User$User
*@返回混合
*/
公共函数viewAny(用户$User)
{
返回false;
}
公共功能视图(用户$用户,广告$广告)
{
返回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中是否有其他步骤来完成此政策注册

文档中没有隐藏的内容。你只是没有仔细阅读文档

请看一下这个部分

您的策略永远不会被调用,因为您不会在代码中的任何地方使用它。至少,如果需要为控制器资源运行策略,则需要编写如下内容:


文档中没有隐藏的内容。你只是没有仔细阅读文档

请看一下这个部分

您的策略永远不会被调用,因为您不会在代码中的任何地方使用它。至少,如果需要为控制器资源运行策略,则需要编写如下内容:


您在哪里执行未使用策略的授权检查?目前此控制器没有任何位置,但用户已登录,稍后我将在控制器或routes auth中间件中包括,但我认为策略没有问题,因为没有调用策略(至少有错误)如果你没有在某处进行授权检查(特别是使用该模型),那么就永远不会使用该策略,因此不确定你的问题是什么。。。因此,显示您在哪里对某些操作执行实际的“授权”检查您在哪里执行未使用策略的授权检查?目前此控制器没有任何位置,但用户已登录,稍后我将在控制器中包含或路由授权中间件,但我认为策略没有问题,因为没有调用策略(至少有错误)如果您没有在某个地方进行授权检查(特别是使用该模型),则永远不会使用该策略,因此不确定您的问题是什么……因此,请显示您正在对某些操作进行实际“授权”检查的位置(如果有帮助,请高兴;)