Clear questions and runnable code
get the best and fastest answer
Re: Re: Re: Cross-Platform Pluggable Authentication & Authorizationby andreychek (Parson)
|on Mar 12, 2004 at 03:22 UTC||Need Help??|
A few things --
While it is OpenPlugin's written goal to be a plugin manager for web applications, that description is a bit inaccurate. Perhaps it should just be "A plugin manager for applications". But that sounds a little silly :-) It's just a plugin framework, trying to make it so that both framework developers, and individual application developers, rewrite as little code as possible.
It takes common things, such as Sessions, Logging, Exceptions, and Authentication, and attempts to provide a single API for each, yet allowing you to use any number of backends. It does the same thing for mod_perl, mod_perl2, and CGI, allowing you to switch from one environment to the other by simply changing the driver name. All the above are plugins, and you can enable and disable them as you see fit.
I use it every day in a production environment, mostly in web applications, but I have few non-web apps. However, one plugin that goes nearly unused, and is a bit incomplete, is the Authentication plugin. Why? I just really haven't gotten around to it :-) My efforts have gone into other parts of that framework, along with OpenThought. You're the first one to ask about it :-) I'd love to see it have a complete and robust Authentication API and drivers.
As far as Windows goes, it doesn't surprise me that OpenPlugin doesn't work there. All my development is generally done on Linux and BSD boxes, I don't have an opportunity to test there much.
Your initial question of seeking a cross-platform authentication mechanism is something I'd like to see in OpenPlugin. As you also saw, it's not there yet. I'd be happy to work with you to help make it meet your needs.
You said you had some trouble during the install -- the version on CPAN now, because of it's Log::Log4perl dependency, requires a boatload of modules. Newer versions of Log::Log4perl moved some functionality "in-house", significantly reducing it's dependencies. I've put code into CVS taking advantage of that, and could send you a working snapshot if you like.
If you wish, feel free to msg me, we could take this discussion to email where we could go over the parts that aren't working for you.
Lucy: "What happens if you practice the piano for 20 years and then end up not being rich and famous?"
Schroeder: "The joy is in the playing."