当前位置: 首页 > 知识库问答 >
问题:

类应用程序\策略\Status策略不存在

宣俊豪
2023-03-14

我设置我的类,以便使用Laravel授权和策略功能。但是,在为我的方法定义中间件时,我一直遇到这个错误(类App\Policies\StatusPolicy不存在)。这就是我所拥有的:

AuthServiceProvider。php

namespace App\Providers;

use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
    /**
     * The policy mappings for the application.
     *
     * @var array
     */
    protected $policies = [
        'App\Status' => 'App\Policies\StatusPolicy',
    ];

    /**
     * Register any authentication / authorization services.
     *
     * @return void
     */
    public function boot()
    {
        $this->registerPolicies();

        //
    }
}

ontroller.php

namespace App\Http\Controllers;

use App\Status;
use Illuminate\Http\Request;

class StatusController extends Controller
{

    public function __construct()
    {
         $this->middleware('can:list,App\Status')->only('index');
         $this->middleware('can:update,status')->only('edit');
    }

    // ...

状态策略。php(由php artisan生成):策略状态策略--model=Status

namespace Policies;

use App\User;
use App\Status;
use Illuminate\Auth\Access\HandlesAuthorization;

class StatusPolicy
{
    use HandlesAuthorization;

    /**
     * Verifica se o usuário tem permissão para listar os status.
     *
     * @param  \App\User  $user
     * @return bool
     */
    public function list(User $user)
    {
        return true;
    }

    /**
     * Determine whether the user can view the status.
     *
     * @param  \App\User  $user
     * @param  \App\Status  $status
     * @return mixed
     */
    public function view(User $user, Status $status)
    {
        //
    }

    /**
     * Determine whether the user can create statuses.
     *
     * @param  \App\User  $user
     * @return mixed
     */
    public function create(User $user)
    {
        //
    }

    /**
     * Determine whether the user can update the status.
     *
     * @param  \App\User  $user
     * @param  \App\Status  $status
     * @return mixed
     */
    public function update(User $user, Status $status)
    {
        return true;
    }

    /**
     * Determine whether the user can delete the status.
     *
     * @param  \App\User  $user
     * @param  \App\Status  $status
     * @return mixed
     */
    public function delete(User $user, Status $status)
    {
        //
    }
}

共有2个答案

淳于俊迈
2023-03-14

将StatusPolicy类中的命名空间更改为App\Policys;

赫连子石
2023-03-14

我发现了问题。

出于某种原因,命令php-artisan-make:policy创建了一个名称空间错误的文件。修复方法是更改StatusPolicy中的命名空间。php文件:

来自命名空间策略 命名空间应用程序\策略

 类似资料:
  • 我已经创建了p3p文件,将它们放在w3c文件夹中,但fiddler2仍然返回没有p3p的集cookie? iis上的Wordpress站点... 试图让它返回cookies集 我知道这是旧东西,但客户想要它。 我错过了什么?

  • 问题内容: 我们目前正在使用JPA作为我们的数据访问层来开发J2EE Web应用程序。我们目前正在采用几种不同的策略来利用我们的应用程序中的缓存。 创建每个请求 在请求范围内获取缓存,但在请求结束时丢失缓存 轻松回滚整个请求中的任何更改 创建每个Http会话 在会话范围内获取缓存 使事务变得更复杂,必须按请求创建一个新事务,然后才能按请求回滚更改 我已经在Hibernate文档中看到了这两种策略。

  • 问题内容: 我该如何决定使用哪个? , , , 。 我阅读了https://www.hibernate.org/hib_docs/v3/api/org/hibernate/cache/CacheConcurrencyStrategy.html,但没有足够详细地解释。 问题答案: 在Hibernate文档确实在他们定义了很好的工作: 19.2.2。策略:只读 如果您的应用程序需要读取而不是修改持久类

  • OnStrategyStart – 在策略启动时调用,在第一笔行情到达之前 OnStrategyStop – 在策略结束时调用,在最后一笔行情之后 OnBarOpen – 在Bar行情最前沿调用(如,在日线数据开盘时买入) OnBar – 在所有行情的后沿调用(如,在日线数据收盘时买入) OnPositionOpened – 当一个新的交易开仓确认后调用 OnPositionChanged – 当

  • 我要确定一个在Azure表存储中存储日志信息的好策略。我有以下内容: PartitionKey:日志的名称。 ROWKEY:倒置的日期时间刻度, 这里唯一的问题是分区可能会变得非常大(数百万个实体),并且大小会随着时间的推移而增加。 但尽管如此,所执行的查询类型将始终包括(不扫描)和筛选器(小扫描)。 例如(在自然语言中): 如果查询同时在和上完成,那么我理解分区的大小并不重要。

  • 通过定义隐藏操作菜单、配置回调地址的策略,并将策略分配给对应项目、域、全局,从而实现自定义控制前端显示菜单、显示页面等。 策略分配 策略分配即为策略设置应用范围,在应用范围内策略才会生效。 策略定义 用于自定义设置隐藏虚拟机、镜像菜单功能以及配置第三方回调地址。