From 24dee535417570307d82c5f5302c116dec9cf21f Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Wed, 27 Mar 2013 02:56:33 -0700 Subject: [PATCH] start of auth plugin work --- FS/FS/Conf.pm | 8 ++++++++ FS/FS/access_user/internal.pm | 15 +++++++++++++++ FS/FS/access_user/legacy.pm | 15 +++++++++++++++ eg/access_user-external_auth.pm | 27 +++++++++++++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100644 FS/FS/access_user/internal.pm create mode 100644 FS/FS/access_user/legacy.pm create mode 100644 eg/access_user-external_auth.pm diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index e8b3333de..869ce1e73 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -5423,6 +5423,14 @@ and customer address. Include units.', 'type' => 'checkbox', }, + { + 'key' => 'authentication_module', + 'section' => 'UI', + 'description' => '"Internal" is the default , which authenticates against the internal database. "Legacy" is similar, but matches passwords against a legacy htpasswd file.', + 'type' => 'select', + 'select_enum' => [qw( Internal Legacy )], + }, + { key => "apacheroot", section => "deprecated", description => "DEPRECATED", type => "text" }, { key => "apachemachine", section => "deprecated", description => "DEPRECATED", type => "text" }, { key => "apachemachines", section => "deprecated", description => "DEPRECATED", type => "text" }, diff --git a/FS/FS/access_user/internal.pm b/FS/FS/access_user/internal.pm new file mode 100644 index 000000000..94f932dee --- /dev/null +++ b/FS/FS/access_user/internal.pm @@ -0,0 +1,15 @@ +package FS::access_user::internal; +use base qw( FS::access_user ); + +use strict; + +sub authenticate { + my( $username, $check_password ) = @_; + + +} + +sub change_password { +} + +1; diff --git a/FS/FS/access_user/legacy.pm b/FS/FS/access_user/legacy.pm new file mode 100644 index 000000000..f8dcdc015 --- /dev/null +++ b/FS/FS/access_user/legacy.pm @@ -0,0 +1,15 @@ +package FS::access_user::legacy; +use base qw( FS::access_user ); #::internal ? + +use strict; + +sub authenticate { + my( $username, $check_password ) = @_; + + +} + +sub change_password { +} + +1; diff --git a/eg/access_user-external_auth.pm b/eg/access_user-external_auth.pm new file mode 100644 index 000000000..2cea1d3ca --- /dev/null +++ b/eg/access_user-external_auth.pm @@ -0,0 +1,27 @@ +package FS::access_user::external_auth; +use base qw( FS::access_user ); + +use strict; + +sub authenticate { + my( $username, $check_password ) = @_; + + #magic happens here + + if ( $auth_good ) { #verbose for clarity + return 1; + } else { + return 0; + } + +} + +#omitting these subroutines will eliminate + +#sub create_user { +# + +#sub change_password { +#} + +1; -- 2.11.0