summaryrefslogtreecommitdiff
path: root/app/Controller/Base.php
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2014-08-13 12:47:17 -0700
committerFrédéric Guillot <fred@kanboard.net>2014-08-13 12:47:17 -0700
commitb92935d2dc7e02b19f60fef37e6139197b054e30 (patch)
tree2f664b619e75c0cf7ddf75088f9932b2a4614492 /app/Controller/Base.php
parent66b5659578a9f982b03a85bce7985252119613c3 (diff)
Add ReverseProxy authentication (pull-request #199)
Diffstat (limited to 'app/Controller/Base.php')
-rw-r--r--app/Controller/Base.php43
1 files changed, 24 insertions, 19 deletions
diff --git a/app/Controller/Base.php b/app/Controller/Base.php
index 2739c5ac..7b1cfd85 100644
--- a/app/Controller/Base.php
+++ b/app/Controller/Base.php
@@ -12,22 +12,24 @@ use Model\LastLogin;
*
* @package controller
* @author Frederic Guillot
- * @property \Model\Acl $acl
- * @property \Model\Action $action
- * @property \Model\Board $board
- * @property \Model\Category $category
- * @property \Model\Comment $comment
- * @property \Model\Config $config
- * @property \Model\File $file
- * @property \Model\Google $google
- * @property \Model\GitHub $gitHub
- * @property \Model\LastLogin $lastLogin
- * @property \Model\Ldap $ldap
- * @property \Model\Project $project
- * @property \Model\RememberMe $rememberMe
- * @property \Model\SubTask $subTask
- * @property \Model\Task $task
- * @property \Model\User $user
+ *
+ * @property \Model\Acl $acl
+ * @property \Model\Action $action
+ * @property \Model\Board $board
+ * @property \Model\Category $category
+ * @property \Model\Comment $comment
+ * @property \Model\Config $config
+ * @property \Model\File $file
+ * @property \Model\Google $google
+ * @property \Model\GitHub $gitHub
+ * @property \Model\LastLogin $lastLogin
+ * @property \Model\Ldap $ldap
+ * @property \Model\Project $project
+ * @property \Model\RememberMe $rememberMe
+ * @property \Model\ReverseProxyAuth $reverseProxyAuth
+ * @property \Model\SubTask $subTask
+ * @property \Model\Task $task
+ * @property \Model\User $user
*/
abstract class Base
{
@@ -123,11 +125,14 @@ abstract class Base
// Authentication
if (! $this->acl->isLogged() && ! $this->acl->isPublicAction($controller, $action)) {
- // Try the remember me authentication first
+ // Try the "remember me" authentication first
if (! $this->rememberMe->authenticate()) {
- // Redirect to the login form if not authenticated
- $this->response->redirect('?controller=user&action=login');
+ // Automatic reverse proxy header authentication
+ if(! (REVERSE_PROXY_AUTH && $this->reverseProxyAuth->authenticate()) ) {
+ // Redirect to the login form if not authenticated
+ $this->response->redirect('?controller=user&action=login');
+ }
}
else {