DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:authmysql:wbb

Woltlab Burning Board

Configuration for authMySQL Auth plugin to authenticate with Woltlab Burning Board, which let's do:

  • Only basic authentication
  • No user modification/adding. This assumes that all user/group accounts will be created and maintained through Woltlab Burning Board. Any number of user roles can also be created and used for ACL in DokuWiki.

The user role's “Administratoren” members will automatically become DokuWiki superusers with the settings below.

Tested on WBB version 3.1 and DokuWiki version 2009-12-25c “Lemming”.

Configuration

Use the Config Manager or add it to the conf/local.protected.php to store the config protected.

The database prefix in this example is wcf1_ which needs to be replaced with your own.

conf/local.protected.php
<?php
/**
 * Woltlab Burning Board configuration for MySQL Auth Plugin
 * See https://www.dokuwiki.org/plugin:authmysql:wbb for details and explanation
 */
//general settings
$conf['useacl']    = 1;              // turn on Access Control Lists
$conf['authtype']  = 'mysql';        // use MySQL back-end for WBB
$conf['superuser'] = '@Administratoren';  // WBB role that will be DokuWiki superuser
$conf['defaultgroup'] = 'Registrierte Benutzer'; // default group from the WBB which has access to the wiki
$conf['disableactions'] = 'register,resendpwd,profile';  // maintained through WBB
 
//server settings
$conf['plugin']['authmysql']['server'] = 'localhost';
$conf['plugin']['authmysql']['user'] = 'forum';
$conf['plugin']['authmysql']['password'] = 'pass';
$conf['plugin']['authmysql']['database'] = 'forum';
//$conf['plugin']['authmysql']['charset'] = 'latin1_swedish_ci';  // you may want specify the collation of WBB database
 
$conf['plugin']['authmysql']['TablesToLock'] = 'array("wcf1_user", "wcf1_user AS u","wcf1_group", "wcf1_group AS g", "wcf1_user_to_groups", "wcf1_user_to_groups AS ug")';
$conf['plugin']['authmysql']['forwardClearPass'] = '1';
$conf['plugin']['authmysql']['checkPass'] = "SELECT password AS pass
                                             FROM wcf1_user AS u
                                             JOIN wcf1_user_to_groups AS ug ON u.userID=ug.userID
                                             JOIN wcf1_group AS g ON g.groupID=ug.groupID
                                             WHERE username='%{user}'
                                               AND groupName='%{dgroup}'
                                               AND password=SHA1(CONCAT(salt,SHA1(CONCAT(salt,SHA1('%{pass}')))))";
$conf['plugin']['authmysql']['getUserInfo'] = "SELECT password AS pass, username AS name, email AS mail
                                               FROM wcf1_user
                                               WHERE username='%{user}'";
$conf['plugin']['authmysql']['getGroups'] = "SELECT groupName as `group`
                                             FROM wcf1_group g, wcf1_user u, wcf1_user_to_groups ug
                                             WHERE u.userID = ug.userID
                                               AND g.groupID = ug.groupID
                                               AND u.username='%{user}'";
$conf['plugin']['authmysql']['getUsers'] = "SELECT DISTINCT username AS user
                                            FROM wcf1_user AS u
                                            LEFT JOIN wcf1_user_to_groups AS ug ON u.userID=ug.userID
                                            LEFT JOIN wcf1_group AS g ON ug.groupID=g.groupID";
$conf['plugin']['authmysql']['FilterLogin'] = "username LIKE '%{user}'";
$conf['plugin']['authmysql']['FilterName']  = "username LIKE '%{name}'";
$conf['plugin']['authmysql']['FilterEmail'] = "email LIKE '%{email}'";
$conf['plugin']['authmysql']['FilterGroup'] = "groupName LIKE '%{group}'";
$conf['plugin']['authmysql']['SortOrder']   = "ORDER BY username";
plugin/authmysql/wbb.txt · Last modified: 2013-03-17 02:59 by Klap-in