Ambush Commander wrote:PEAR::Auth - When I was a young grasshopper, I attempted to use Pear::Auth. The login callback function didn't make much sense to me. Furthermore, the class attempts to both authenticate and authorize, and fails miserably on the latter. General consensus out there seems to be don't use it.
PEAR::LiveUser - Supposedly it's a bit better, but it's got far too many dependencies. Without access to a PEAR installer (if there's one thing about PEAR I love, it's the installer) on the webhost this authentication system will be installed upon, it's a pain to maintain PEAR libraries (yes, I know they're optional, but don't tell me you're not going to have it interface with the database). This applies in general to most PEAR libraries. Plus is Beta, which is another strike against it.
PHPGACL - An interesting permissions system, but nothing too amazing. It requires a few other weighty third-party packages, and uses quite obscure terminology (if I was a non-tech savvy admin, I'd be lost in the jargon). And it's a bit overkill for what I have in mind.
I agree with Nathaniel: if you understand the problem, a homegrown solution will be simple and efficient, and perfectly suited to the task at hand. Furthermore, for one-man developing teams, it's beneficial that the developer knows about the component intimately, rather than having to learn a third-party system.
If I was looking for an authentication library, I would not be looking for so mcuh a library that let's me go $a->isUserAuthorized() but rather a toolkit with simple "components" that every authentication system has, and put them into a greater interface for the particular application being designed.
Agreed...The login callback function didn't make much sense to me
Oh really? I was under the impression it only did authentication...Furthermore, the class attempts to both authenticate and authorize
Both should be kept separate...after some consideration and arguing...I would strongly support that point...
The problem is Authorization is pretty simple...
Code: Select all
$ret = checkPermission();
if($ret)
echo 'Execute code';
else
echo 'Your not allowed ';I did...round robin anyways...and it wasn't due to lack of experience in OOP or designing systems...but the lack of complexity in an authorization class...
The complexity may change, as I haven't started on the authorization class yet...but from what I can tell...it'll stay fairly trivial...
This I what hate about PEAR...dependancies...it's what I hate about Linux too...but it's got far too many dependencies. Without access to a PEAR installer (if there's one thing about PEAR I love, it's the installer) on the webhost this authentication system will be installed upon, it's a pain to maintain PEAR libraries
Thats the one nice things about proprietary systems like Windows...sometimes less options are a nice thing
It's like eating at subway...way to many options...I'm just hungry...feed me
Thanks for the feedback
Cheers