小编vik*_*ike的帖子

Laravel 资源策略始终为 false

我试图允许用户在 Laravel 5.4 中查看他们自己的个人资料。

用户策略.php

public function view(User $authUser, $user)
{ 
 return true;
}
Run Code Online (Sandbox Code Playgroud)

在 AuthServiceProvider.php 中注册的策略

protected $policies = [
    App\Task::class => App\Policies\TaskPolicy::class,
    App\User::class => App\Policies\UserPolicy::class
];
Run Code Online (Sandbox Code Playgroud)

路线

Route::group(['middleware' => 'auth'], function() {
  Route::resource('user', 'UserController');
} );
Run Code Online (Sandbox Code Playgroud)

刀片模板

@can ( 'view', $user )
// yes
@else
// no
@endcan
Run Code Online (Sandbox Code Playgroud)

用户控制器.php

public function profile()
{
    return $this->show(Auth::user()->id);
}
public function show($id)
{
    $user = User::find($id);
    return view('user.show', array( 'user'=>$user,'data'=>$this->data ) );
}
Run Code Online (Sandbox Code Playgroud)

返回总是“假”。从控制器调用策略也是如此。我哪里出错了?

php laravel laravel-5

3
推荐指数
1
解决办法
7371
查看次数

标签 统计

laravel ×1

laravel-5 ×1

php ×1