NG auth: internal db auth, RT#21563
[freeside.git] / FS / FS / Auth.pm
diff --git a/FS/FS/Auth.pm b/FS/FS/Auth.pm
new file mode 100644 (file)
index 0000000..543978e
--- /dev/null
@@ -0,0 +1,25 @@
+package FS::Auth;
+
+use strict;
+use FS::Conf;
+
+sub authenticate {
+  my $class = shift;
+
+  $class->auth_class->authenticate(@_);
+}
+
+sub auth_class {
+  #my($class) = @_;
+
+  my $conf = new FS::Conf;
+  my $module = lc($conf->config('authentication_module')) || 'internal';
+
+  my $auth_class = 'FS::Auth::'.$module;
+  eval "use $auth_class;";
+  die $@ if $@;
+
+  $auth_class;
+}
+
+1;