summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-03-27 02:56:33 -0700
committerIvan Kohler <ivan@freeside.biz>2013-03-27 02:56:33 -0700
commit24dee535417570307d82c5f5302c116dec9cf21f (patch)
treea48e960db4bf9ccc774faba26a00b1f0f7cff50a
parentd234df9a0d62763d341508038dafd0df711de079 (diff)
start of auth plugin work
-rw-r--r--FS/FS/Conf.pm8
-rw-r--r--FS/FS/access_user/internal.pm15
-rw-r--r--FS/FS/access_user/legacy.pm15
-rw-r--r--eg/access_user-external_auth.pm27
4 files changed, 65 insertions, 0 deletions
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 => "<b>DEPRECATED</b>", type => "text" },
{ key => "apachemachine", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
{ key => "apachemachines", section => "deprecated", description => "<b>DEPRECATED</b>", 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;