Sorry to say I don't understand the scenario, Out of curiosity why you need public users to be registered, if they are happened to be some random visitor.
Let everyone access the contents limited set of resources and allow only registered users(*core*) to access the system fully; it's as simple as that.

