This involves using PHP and most likely MySQL.
You can find free "PHP membership scripts" by searching Google.
Then, customize it how you want.
The user enters a form that submits data to the PHP script and data is
stored in a database. They can create their own password, go back and
edit their profile, and you have an admin section to administer everything,
control access levels, and see who is registered.
Once the user registers, or logs-in, each page has it's own PHP scripting
that utilizes that person's information. It's all based on cookies and sessions.
The key is the PHP membership script which is already written ... so you
don't have to re-write your own script ... which is very time consuming.
You'll need to use PHP, know something about PHP and have a webhost
that allows PHP/MySQL. That's basically what you're looking for.