Put login required into a Mixin to reduce boilerplate