diff --git a/config/app.config.php b/config/app.config.php
index 7ead71dde667aabb35f2e83eceeb0db0bebd361d..7f82d2bbd90619be48ede6becdd2d8d6b6e730f9 100644
--- a/config/app.config.php
+++ b/config/app.config.php
@@ -28,7 +28,7 @@ return [
         'module/open_data/bootstrap.php',
         'module/university_form/bootstrap.php',
         'module/teacher_form/bootstrap.php',
- 
+        'module/enable_db_login/bootstrap.php',
     ],
     'cache_config' => 'data/cache/config/settings.php',
 ];
diff --git a/config/settings/acl.global.php b/config/settings/acl.global.php
index feacfbe8d5c2e96d962638633cc0b6e80a1adc28..2381d47827b67d8a580db4427b10a2e2171bd497 100644
--- a/config/settings/acl.global.php
+++ b/config/settings/acl.global.php
@@ -47,7 +47,7 @@ return [
                 ['/teacher-form', ['guest'], ['get', 'post']],
                 ['/teacher-form/submit-success',['guest'], ['get','post']],
                 ['/teacher-form/mm',['guest'], ['get']],
-
+                ['/admin', ['admin'], ['get']],
             ],
         ],
     ],
diff --git a/config/settings/enable_db_login.global.php b/config/settings/enable_db_login.global.php
new file mode 100644
index 0000000000000000000000000000000000000000..da9a9e06fc9493ba0dbc3352411e577c0e57c134
--- /dev/null
+++ b/config/settings/enable_db_login.global.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * gredu_labs
+ * 
+ * @link https://github.com/eellak/gredu_labs for the canonical source repository
+ * @copyright Copyright (c) 2008-2015 Greek Free/Open Source Software Society (https://gfoss.ellak.gr/)
+ * @license GNU GPLv3 http://www.gnu.org/licenses/gpl-3.0-standalone.html
+ */
+return [
+    'enabledblogin' => [
+        'enable_routes' => [
+            'enabledblogin'
+        ],
+        'enable_patterns' => [
+            '/enabledblogin'
+        ],
+        'disable_routes' => [
+            'disabledblogin',
+            'user.logout'
+        ],
+        'disable_patterns' => [
+            '/disabledblogin',
+            '/user/logout'
+        ],
+    ],
+];
diff --git a/module/enable_db_login/README.md b/module/enable_db_login/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..d7ba4f611548dfc23e0317aca382c06b05905f43
--- /dev/null
+++ b/module/enable_db_login/README.md
@@ -0,0 +1,51 @@
+# ΕνΡργοποίηση σύνδΡσης μέσω βάσης δΡδομένων
+
+΀ο συγκΡκριμένο module ΡνΡργοποιΡί τη Ο†ΟŒΟΞΌΞ± σύνδΡσης μέσω βάση δΡδομένων
+άσχΡτα Ξ±Ο€ΟŒ τη ρύθμιση Container['settings']['sso']['enable_database_login'].
+ΧρΡιά΢Ρται Ξ½Ξ± ΡνΡργοποιηθΡί μόνο στην πΡρίπτωση που έχΡι ΡνΡργοποιηθΡί το
+module sch_sso ΞΊΞ±ΞΉ απαιτΡίται σύνδΡση τοπικού χρΞ�στη Ξ³ΞΉΞ± συγκΡκριμένΡς 
+λΡιτουργίΡς. 
+
+## ΑυθμίσΡις 
+
+΀ο αρχΡίο `enable_db_login.{global,local}.php χρησιμοποιΡίται Ξ³ΞΉΞ± την 
+παραμΡτροποίηση. Οι προΡπιλΡγμένΡς ρυθμίσΡις Ρίναι ΞΏΞΉ παρακάτω.
+```
+    'enabledblogin' => [
+        'enable_routes' => [
+            'enabledblogin'
+        ],
+        'enable_patterns' => [
+            '/enabledblogin'
+        ],
+        'disable_routes' => [
+            'disabledblogin',
+            'user.logout'
+        ],
+        'disable_patterns' => [
+            '/disabledblogin',
+            '/user/logout'
+        ],
+    ],
+```
+
+Οι ρυθμίσΡις έχουν ως ΡξΞ�Ο‚:
+
+- enable_routes: ΞΏΞ½ΟŒΞΌΞ±Ο„Ξ± routes που ΡνΡργοποιούν τη σύνδΡση μέσω Ξ’Ξ”
+- enable_patterns: url paths που ΡνΡργοποιούν τη σύνδΡση μέσω Ξ’Ξ”
+- disable_routes: ΞΏΞ½ΟŒΞΌΞ±Ο„Ξ± routes που απΡνΡργοποιούν τη σύνδΡση μέσω Ξ’Ξ”
+- disable_patterns: url paths που απΡνΡργοποιούν τη σύνδΡση μέσω Ξ’Ξ”
+
+_Ξ ΟΞΏΟ„Ξ΅ΟΞ±ΞΉΟŒΟ„Ξ·Ο„Ξ± έχΡι Ξ· απΡνΡργοποίηση._
+
+##Routes
+
+΀ο module δηλώνΡι δύο routes (στα αντίστοιχα paths) ΟŽΟƒΟ„Ξ΅ Ξ½Ξ± παρέχΡται Ξ­Ξ½Ξ±
+παράδΡιγμα χρΞ�σης. 
+
+- enabledblogin (/enabledblogin) που ΡνΡργοποιΡί τη σύνδΡση μέσω Ξ’Ξ”
+- disabledblogin (/disabledblogin) που απΡνΡργοποιΡί τη σύνδΡση μέσω Ξ’Ξ”
+
+*ΔΡν* Ρίναι απαραίτητο Ξ½Ξ± προστΡθούν τα routes στο `acl.{global,local}.php` 
+(acl.guards.routes).
+
diff --git a/module/enable_db_login/bootstrap.php b/module/enable_db_login/bootstrap.php
new file mode 100644
index 0000000000000000000000000000000000000000..00c297696e6a73de98b0a94a3f755817bfd80563
--- /dev/null
+++ b/module/enable_db_login/bootstrap.php
@@ -0,0 +1,53 @@
+<?php
+
+use Slim\App;
+use Slim\Container;
+use Slim\Http\Request;
+use Slim\Http\Response;
+
+/**
+ * gredu_labs.
+ *
+ * @link https://github.com/eellak/gredu_labs for the canonical source repository
+ *
+ * @copyright Copyright (c) 2008-2015 Greek Free/Open Source Software Society (https://gfoss.ellak.gr/)
+ * @license GNU GPLv3 http://www.gnu.org/licenses/gpl-3.0-standalone.html
+ */
+return function (App $app) {
+    $container = $app->getContainer();
+    $events = $container['events'];
+
+    $events('on', 'app.autoload', function ($autoloader) {
+        $autoloader->addPsr4('GrEduLabs\\EnableDBLogin\\', __DIR__ . '/src/');
+    });
+
+    $events('on', 'app.services', function (Container $container) {
+        $container[GrEduLabs\EnableDBLogin\Middleware\EnableDBLogin::class] = function ($c) {
+            return new GrEduLabs\EnableDBLogin\Middleware\EnableDBLogin($c);
+        };
+
+        $container[GrEduLabs\EnableDBLogin\Action\Index::class] = function ($c) {
+            return new GrEduLabs\EnableDBLogin\Action\Index($c);
+        };
+    });
+
+    $events('on', 'app.bootstrap', function (App $app, Container $c) {
+        $app->add(GrEduLabs\EnableDBLogin\Middleware\EnableDBLogin::class);
+    });
+
+    $events('on', 'app.bootstrap', function (App $app, Container $c) {
+        if (isset($_SESSION['enableDLogin'])) {
+            $c['router']->getNamedRoute('user.login')->add(function (Request $req, Response $res, callable $next) use ($c) {
+                $c['view']['enable_database_login'] = true;
+                return $next($req, $res);
+            });
+        }
+    }, -98); // must be in order to set last
+
+    $events('on', 'app.bootstrap', function (App $app, Container $c) {
+        $app->get('/enabledblogin', GrEduLabs\EnableDBLogin\Action\Index::class)
+                ->setName('enabledblogin');
+        $app->get('/disabledblogin', GrEduLabs\EnableDBLogin\Action\Index::class)
+                ->setName('disabledblogin');
+    });
+};
diff --git a/module/enable_db_login/src/Action/Index.php b/module/enable_db_login/src/Action/Index.php
new file mode 100644
index 0000000000000000000000000000000000000000..8f3e73cca93f2e9b12bb9822af1bb419e8172192
--- /dev/null
+++ b/module/enable_db_login/src/Action/Index.php
@@ -0,0 +1,35 @@
+<?php
+
+/**
+ * gredu_labs.
+ *
+ * @link https://github.com/eellak/gredu_labs for the canonical source repository
+ *
+ * @copyright Copyright (c) 2008-2015 Greek Free/Open Source Software Society (https://gfoss.ellak.gr/)
+ * @license GNU GPLv3 http://www.gnu.org/licenses/gpl-3.0-standalone.html
+ */
+
+namespace GrEduLabs\EnableDBLogin\Action;
+
+use Slim\Container;
+use Slim\Http\Request;
+use Slim\Http\Response;
+
+class Index {
+
+    protected $_c;
+
+    /**
+     * Constructor.
+     *
+     * @param Twig $view
+     */
+    public function __construct(Container $c) {
+        $this->_c = $c;
+    }
+
+    public function __invoke(Request $req, Response $res) {
+        return $res->withRedirect($this->_c['router']->pathFor('index'));
+    }
+
+}
diff --git a/module/enable_db_login/src/Middleware/EnableDBLogin.php b/module/enable_db_login/src/Middleware/EnableDBLogin.php
new file mode 100644
index 0000000000000000000000000000000000000000..2b49973f028091853d65d560cf78d89d3e1d4d46
--- /dev/null
+++ b/module/enable_db_login/src/Middleware/EnableDBLogin.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * EnableDBLogin enables the database login form for specific routes or urls.
+ * To use set the enable_db_login.{global,local}.php 
+ *
+ * @link https://github.com/eellak/gredu_labs for the canonical source repository
+ *
+ * @copyright Copyright (c) 2008-2015 Greek Free/Open Source Software Society (https://gfoss.ellak.gr/)
+ * @license GNU GPLv3 http://www.gnu.org/licenses/gpl-3.0-standalone.html
+ */
+
+namespace GrEduLabs\EnableDBLogin\Middleware;
+
+use Slim\Container;
+use Psr\Http\Message\ResponseInterface;
+use Psr\Http\Message\ServerRequestInterface;
+
+class EnableDBLogin {
+
+    private $_c;
+
+    public function __construct(Container $c) {
+        $this->_c = $c;
+    }
+
+    public function __invoke(ServerRequestInterface $req, ResponseInterface $res, callable $next) {
+        $route = $req->getAttribute('route');
+        if ($route) {
+            $routeName = $route->getName();
+            $routePattern = $route->getPattern();
+
+            $dblogin_settings = $this->_c->get('settings')->get('enabledblogin');
+            if ($dblogin_settings) {
+                $enableRouteNames = isset($dblogin_settings['enable_routes']) ? $dblogin_settings['enable_routes'] : [];
+                $enableRoutePatterns = isset($dblogin_settings['enable_patterns']) ? $dblogin_settings['enable_patterns'] : [];
+                $disableRouteNames = isset($dblogin_settings['disable_routes']) ? $dblogin_settings['disable_routes'] : [];
+                $disableRoutePatterns = isset($dblogin_settings['disable_patterns']) ? $dblogin_settings['disable_patterns'] : [];
+
+                if (in_array($routeName, $enableRouteNames) ||
+                        in_array($routePattern, $enableRoutePatterns)) {
+                    $_SESSION['enableDLogin'] = true;
+                    $this->_c['logger']->info("SET enableDLogin via route=[" . var_export($routeName, true) . '], path=[' . var_export($routePattern, true) . ']');
+                }
+
+                if (in_array($routeName, $disableRouteNames) ||
+                        in_array($routePattern, $disableRoutePatterns)) {
+                    unset($_SESSION['enableDLogin']);
+                    $this->_c['logger']->info("UNSET enableDLogin via route=[" . var_export($routeName, true) . '], path=[' . var_export($routePattern, true) . ']');
+                }
+            }
+        }
+        return $next($req, $res);
+    }
+
+}