Correctly check the user access prop for granting auth.

Also reorganize it all so it's a bit more readable.