Guests do not have permissions for now.
Create a custom exception type for failed authorization.
Make it easy (and very readable) to throw exceptions if authorization fails.