[eluser]CroNiX[/eluser]
1. have a login controller (processes login (validate), logout (clear), profile? (edit), etc)
2. login controller validates login form
3. if form successful, set session data (logged in variable, something like I showed above, maybe other things like user name, etc)
4. redirect elsewhere, if you want
5. from then on, if they are logged in, any session data you set will be available on any page that you check it that has sessions loaded. If you want to check site wide, I would autoload the session library.
6. on pages you want protected, check if logged in, if not redirect to login page
I'd suggest you check out some authentication packages that are already out there for CI before making your own, depending on your needs. Like user roles, permissions, etc.