visitor can register [finish #79854006 #79854478]

Think in terms of a ```before_filter```