DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:ondeniedlogin

This is an old revision of the document!


ondeniedlogin plugin

Compatible with DokuWiki

No compatibility info given!

plugin redirects unknown users to a login form on denied requests

Last updated on
2009-04-21
Provides
Action
Conflicts with
forcessllogin, showlogin, showlogin2

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Similar to showlogin, showlogin2

Tagged with authentication, redirect

Download and Installation

FIXME - Downloads have error. Missing “php” in first line. Download and install the plugin using the Plugin Manager using the following URL.

Or copy paste this code into your lib/plugins/ondeniedlogin/action.php .

action.php
<?php
  if(!defined('DOKU_INC')) die();
  if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
  require_once(DOKU_PLUGIN.'action.php');
 
  class action_plugin_ondeniedlogin extends DokuWiki_Action_Plugin {
 
    function getInfo(){
      return array(
        'author' => 'Samuel Fischer',
        'email'  => 'sf@notomorrow.de',
        'date'   => '2009-04-21',
        'name'   => 'ondeniedlogin',
        'desc'   => 'redirects unknown users to a login form on denied requests',
        'url'    => 'http://www.dokuwiki.org/plugin:ondeniedlogin',
      );
    }
 
  function register(Doku_Event_Handler $controller) {
      $controller->register_hook('TPL_ACT_RENDER', 'BEFORE',  $this, 'ondeniedlogin');
    }
 
    function ondeniedlogin(&$event, $param) {
        global $ACT, $INFO;
 
        if($ACT!='denied') return;
          if(!is_array($INFO['userinfo']))
                $ACT = 'login';
    }
 
  }

Patches

Show Search Page for Authenticated Users

This adds the following functionality to this plugin: When your ACLs allow someone to see some pages but maybe not the start page, this helps him because he gets some search hits instead of “Permission denied”…

ondenied-search.patch
--- ondeniedlogin/action.php    2011-08-26 16:47:00.000000000 +0200
+++ ondeniedlogin/action.php    2011-08-26 16:54:23.000000000 +0200
@@ -26,6 +26,8 @@
       if($ACT!='denied') return;
         if(!is_array($INFO['userinfo']))
        $ACT = 'login';
+        else
+       $ACT = 'search';
     }
 
   }

Use Earlier Event

Some templates (e.g. dokuwiki) set html classes on outer elements describing the action. The TPL_ACT_RENDER event is too late to alter this. The change below switches to use ACTION_HEADERS_SEND, so immediately after DokuWiki sends the 403 permission denied header.

      $controller->register_hook('ACTION_HEADERS_SEND', 'AFTER',  $this, 'ondeniedlogin');
plugin/ondeniedlogin.1394747654.txt.gz · Last modified: 2014-03-13 22:54 by 69.166.62.29

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki