Frontend auth failures need a user-friendly explanation

Attempting to access an unauthorized frontend page currently redirects to an empty template.  It's pretty confusing!

cc @geekoncoffee