title: Custom message on Laravel policy authorization
body: <p>In my Laravel 5.8 project I am implementing a reputation system similar to Stack Exchange's one: for example, users can reply to a discussion only if they have &quot;Level 3&quot; reputation.</p>
  <p>I wanted to use Laravel's policies system to build the permissions logic like so in my DiscussionPolicy file:</p>
  <pre><code>public function reply(User $user)
  {
      $result = true;
      if ($user-&gt;current_level &lt; 3) {
          $result = false;
          //I want to inject a custom error message here
      }
      return $result;
  }
  </code></pre>
  <p>Everything works, but users get a 403 page without any explanation, and I wanted to find an elegant way to tell them that they cannot perform that action because they don't have Level 3.</p>
  <p>Can you please suggest a way to inject somehow this message, to show it in my custom 403.blade.php page? I've been able to do this by flashing a variable in the session, but I don't think it's elegant, I would like to use something like a MessageBag (Illuminate\Support\MessageBag).</p>
  <p>LARAVEL 8.x : check <a href="https://stackoverflow.com/questions/56473607/custom-message-on-laravel-policy-authorization/66076485#66076485">this answer</a>.</p>