Best way to make a private site ?

Hello guys,

I wanted your advice on the best possible way to make my site private.
I am using Wordpress 3.5.1 (not MU)

We are a community but now we want to become a private community. A few things I have in mind for it are :-

1. Users need to login to view any content
2. Guests (not logged-in) users will only and only see a specific page which will actually state why we are private now, how to register and login etc etc. It will have a login/register buttons
3. I was thinking to secure registrations as well, mostly by using a invitation code or a invitation system if possible

I wanted to know do membership pro offers any of the features I can use ? I basically dont want any paid subscriptions as we take donations instead of subscriptions. So I want default all users to be able to view after login.

I see there is a signup code plugin as well. It wont work as a invitation system but I had another idea for it. I can just tell my staff members the signup code, place out chatbox on that login/registration page and anyone who wants to signup can ask the registration code in chatbox/IRC

^^ Is there any better way to do this ?
Any more ideas and suggestions anyone has ?