class UsersController extends Controller

public function __construct() 

{

 $this->middleware('auth', [ 'only' => ['edit', 'update'] ]); 

} . . . 

}

$this->middleware()调用auth中间件的only方法限制edit,update动作。(auth中间件在app/http/middleware/Authenticate.php???不在吧)将auth修改成authg会导致

ReflectionException in Container.php line 741:

Class authg does not exist

2、php artisan make:policy UserPolicy app/policies/生成UserPolicy.php限制用户权限政策文件。增加update方法

class UserPolicy

 {

 use HandlesAuthorization;

 public function update(User $currentUser, User $user)

 {

 return $currentUser->id === $user->id; }

 }

app/providers/AuthServiceProviderModelPolicy联系起来:

protected $policies = [ 'App\Model' => 'App\Policies\ModelPolicy', User::class => UserPolicy::class, ];

 

方便在UserContoller中通过$this->authorize(‘update’,$user)(该方法由UserContoller继承Controller包含的authorizesRequests特性携带,可以被用于快速授权一个指定的行为)调用