按照教程做,编辑登录用户和非登录用户信息都报未验证异常,不知道是啥原因?

我按照教程,在控制器的edit方法和update方法都添加了$this->authorize('update', $user);,但是在编辑本用户和其他用户的信息都抛出异常,提示没有权限,不知道为啥?

yunshu2009
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
yunshu2009
最佳答案

@JimChen 配置了

UserPolicy.php中少了return,尴尬

<?php
...
class UserPolicy
{   
    ...

    public function update(User $currentUser, User $user)
    {
        $currentUser->id === $user->id;
    }
}
6年前 评论
讨论数量: 3
<?php
namespace App\Providers;

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

class AuthServiceProvider extends ServiceProvider
{
    /**
     * The policy mappings for the application.
     *
     * @var array
     */
    protected $policies = [
         \App\Models\Reply::class => \App\Policies\ReplyPolicy::class,
         \App\Models\Topic::class => \App\Policies\TopicPolicy::class,
         \App\Models\User::class =>  \App\Policies\UserPolicy::class
    ];

...

这里你配置了么?

6年前 评论
yunshu2009

@JimChen 配置了

UserPolicy.php中少了return,尴尬

<?php
...
class UserPolicy
{   
    ...

    public function update(User $currentUser, User $user)
    {
        $currentUser->id === $user->id;
    }
}
6年前 评论
  protected $policies = [
        'App\Model' => 'App\Policies\ModelPolicy',
        \app\Models\User::class  => \App\Policies\UserPolicy::class, //错误写法
        \App\Models\User::class  => \App\Policies\UserPolicy::class, //正确写法
    ];

就因为这... 让我找半天, 尴尬了,!

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!