Open
Bug 670305
Opened 14 years ago
Updated 12 years ago
Use Module::Pluggable to get authentication methods (instead of hardcoded lists)
Categories
(Bugzilla :: Administration, task, P3)
Tracking
()
NEW
People
(Reporter: LpSolit, Unassigned)
Details
Currently, Bugzilla::Config::Auth uses hardcoded lists for user_info_class and user_verify_class:
name => 'user_info_class',
choices => [ 'CGI', 'Env', 'Env,CGI' ],
name => 'user_verify_class',
choices => [ 'DB', 'RADIUS', 'LDAP' ],
This means that if you add new authentication methods to the Bugzilla/Auth/Login/ and Bugzilla/Auth/Verify/ directories, then these lists must be updated manually. To avoid this problem, and to reflect what is really available, we should use Module::Pluggable (a module which is included in the core distribution of Perl) in Bugzilla::Auth::Login and Bugzilla::Auth::Verify.
For instance, Bugzilla::Auth::Login would have the following line:
use Module::Pluggable search_path => 'Bugzilla::Auth::Login',
except => 'Bugzilla::Auth::Login::Stack';
And Bugzilla::Config::Auth would simply have this single call to get the list of available methods:
my @methods = Bugzilla::Auth::Login->new()->plugins;
Comment 1•14 years ago
|
||
Ah, except that some orders of modules in user_info_class are forbidden, so we'd also have to take that into account. (For example CGI,Env.) We could add some parameters like must_come_before to the Login modules, though--I imagine that would solve it.
Updated•14 years ago
|
Priority: -- → P3
You need to log in
before you can comment on or make changes to this bug.
Description
•