User Authentication with patUser (part 1) (
Page 1 of 7 )
Need to add authentication to your PHP-based Web application? Get
it done in a jiffy with patUser, a PHP class which makes it possible to
rapidly add powerful user management capabilities to your Web application.Over the past couple of years, Web application development has matured to a
point where building a Web application is not quite as random a process as it
once was. Most developers are now familiar with what goes into building the
fundamental skeleton of a Web application: a database to store content, page
templates to simplify maintenance, sessions and cookies for temporary data
storage, and an authentication and privilege system to manage users and user
security levels.
While much has been said about the first few items on
the list above, the last one - user management - is a topic that has received
step-motherly treatment thus far. The reason is fairly simple: different
applications have different requirements of their user authentication and
privilege management systems, and it's hard to come up with a generic solution
to the problem in such a diverse environment. Additionally, given the time
constraints that are de rigeur for Web development projects, most Web developers
don't have the time to take on the problem and see it through; they find it
faster to simply custom-code for each requirement.
This reasoning is,
however, flawed. If you think about it, a user management system must be capable
of performing certain basic tasks - user identification, credential
verification, privilege assignment, user tracking and auditing - which are
fairly standard across different applications. It should, therefore, be possible
to come up with a generic library to perform these tasks, one which provides
developers with a reusable code base and eliminates the need to reinvent the
wheel every time they build the user management component of a Web application.
This library should be flexible enough to adapt to different needs, powerful
enough to satisfy most requirements, and robust enough to meet the performance
and scalability requirements of most of the current generation of Web
applications.
Which brings me, rather nicely, to patUser.