title: Laravel Authorize() confusion
body: <p>I'm currently migrating a project from CodeIgniter to Laravel5.</p>
  
  <p>I saw in Laracasts that you can use the <code>Request::authorize()</code> method to authorize access before the controller is called, and it returns true or false.</p>
  
  <p>This would (I think) be the ideal solution as I can contain permission checks within the request, rather than pollute the controller with permission checks and redirections / responses. </p>
  
  <p>The only problem is, when I return <code>false</code> from <code>authorize()</code>, it simply loads an empty white page with <code>forbidden</code> written, and I can't find any documentation on laravel.com on how to template it (either there is no documentation, or I'm overlooking it)</p>
  
  <p>I know I can edit the 404 page in <code>errors/404.blade.php</code>, but I can't work out how to customize the 403 page, which I've tried to add a custom <code>403.blade.php</code> page, which doesn't get displayed. ( <a href="https://mattstauffer.co/blog/laravel-5.0-custom-error-pages" rel="nofollow">https://mattstauffer.co/blog/laravel-5.0-custom-error-pages</a> )</p>
  
  <p>Is placing these permission checks in the Request a good idea? Or am I missing something?</p>
  
  <p><strong>Update</strong>
  I ran a backtrace from <code>authorize()</code>, and it looks like it throws an <code>UnauthorizedException</code>, which extends <code>RuntimeException</code>. I've tried catching both in the <code>routes.php</code> file, which doesn't work either.</p>
  
  <p>I've also tried to create middleware, and call the middleware from a method, which doesn't work either, since the middleware's not even called at all.</p>
  
  <p><strong>Update 2</strong>
  Ok, so I found out that I can only call <code>$this-&gt;middleware()</code> from the constructor, not individual methods, which is progress, I guess.</p>