CodeIgniter doesn't come with a user authentication system out of the box (urgh, that phrase), but nevertheless it doesn't. If you want to manage users and sessions, there are several options open to you. You can install an auth Spark, or you can develop your own solution—which is what we will do here.
One of the irritations I have with other "third-party" plugins (whatever their purpose) is that the code is almost always difficult, making maintenance and integration difficult. This authentication system is as simple as I can make it, and hopefully, it will be easy for you to adapt and extend it for your purposes.
The authentication system provided in this chapter will allow you to create and manage users, password resets, user e-mail notifications, user logins, and so on.
In this chapter, we will cover the following topics:
Design and wireframes
Creating the database
Creating the models
Creating the views
Creating the controllers
Putting it all together...