Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Doku-Vanilla Integration

I have alluded to this in another post, but I wanted to make a formal request for the Doku-Vanilla integration, where Doku pulls from Vanilla's user table. The whole things seems really simple, but I'm not good enough with the language to be confident about it. The instructions for doing this, and a few examples, are to be found at http://wiki.splitbrain.org/wiki:auth:mysql Someone who knew Vanilla's inner workings could probably get this done in no time.

Comments

  • MarkMark Vanilla Staff
    I've got my dokuwiki set up on flat files - not on mysql, so the integration there is kind of a pain, but I personally wouldn't mind seeing this either if someone is interested. I'm just too busy to do it myself at the moment.
  • When my login(bcdennis) gets approved I'll upload the the mysql.conf.php that I'm using that'll authenticate off the lum_user and lum_role tables.
  • MarkMark Vanilla Staff
    Did I approve you? I don't have any applicants right now, so I hope you got in.
  • edited October 2006
    Something must've happened, or I'm confused about my recollection of applying. Applied again but the server timed out during the process so I'm not sure it was successful. Anyways I uploaded it to rapidshare and can be downloaded here. http://rapidshare.de/files/37412020/doku_mysql_conf.zip.html All doku auth queries got mapped to lum_* tables. The only things to note of significance were needed to alias the lum_* columns back to what was expected by doku and dropping any join referring to a usersgroups association table.
  • Great! I have the authenication working. My system automatically created the lum_user and lum_role as LUM_User and LUM_Role, so all of these had to have the correct capitalization before anything would work. That might be something to look out for if anyone else is doing this. Also, I have the ACL feature activated, which gives the admin. some control over various aspects of the wiki. How would you get the authenication to give me admin. and give the user only member status? As of now, my account only has basic access when I sign in to the wiki.
  • Got the ACL thing figured out: You can put your user name in $conf['superuser'] = 'NameHere'; in dokuwiki.php in the conf folder to give yourself admin. access, instead of the generic @admin. The only problem I have now is the basic member does not have any privileges.
  • Unfortunately, Piper, I can't help much, I just spent a little time on it (mysql.conf.php) to get the basic authentication to pull from my vanilla install and haven't had much time to mess around with it since.
  • Thanks for getting the mysql.conf.php file going! I am glad to have it! I figured out the privilege problem. You have to go into the acl.auth.php in the conf folder and change User to Member on any of the sections that you have limited to just users. Since Vanilla calls it users members when they are activated, Doku needs to know this since it's still looking for "user" when denying or granting access.
  • edited January 2007
    anyone have those files? the link to it is dead... <><><><><><> Anyways I uploaded it to rapidshare and can be downloaded here. http://rapidshare.de/files/37412020/doku_mysql_conf.zip.html <><><><><><>
  • edited January 2007
    Hey guys, this is the info from the mysql.conf.php I use :


    $conf['auth']['mysql']['server'] = 'dbhost';
    $conf['auth']['mysql']['user'] = 'dbuser;
    $conf['auth']['mysql']['password'] = 'dbpass';
    $conf['auth']['mysql']['database'] = 'dbname';


    $conf['auth']['mysql']['forwardClearPass'] = 0;

    $conf['auth']['mysql']['TablesToLock']= array("LUM_User","LUM_Role");

    $conf['auth']['mysql']['checkPass'] = "SELECT password as pass
    FROM LUM_User
    WHERE name='%{user}'";

    $conf['auth']['mysql']['getUserInfo'] = "SELECT password as pass, name, email AS mail
    FROM LUM_User
    WHERE name='%{user}'";

    $conf['auth']['mysql']['getGroups'] = "SELECT LUM_Role.Name as `group`
    FROM LUM_Role join LUM_User
    on LUM_User.RoleID = LUM_Role.RoleID
    where LUM_User.name like '%{user}'";

    $conf['auth']['mysql']['getUsers'] = "SELECT DISTINCT name AS user
    FROM LUM_User AS u";

    $conf['auth']['mysql']['FilterName'] = "u.name LIKE '%{name}'";
    $conf['auth']['mysql']['FilterLogin'] = "u.name LIKE '%{name}'";
    $conf['auth']['mysql']['FilterEmail'] = "u.email LIKE '%{email}'";
    $conf['auth']['mysql']['FilterGroup'] = "g.name LIKE '%{group}'";
    $conf['auth']['mysql']['SortOrder'] = "ORDER BY u.name";

    $conf['auth']['mysql']['getUserID'] = "SELECT userid AS id
    FROM LUM_User
    WHERE name='%{user}'";



    Then setup the acl.auth.php with the users "Group" info from Vanilla.

    With this configuration, users create their login via Vanilla, and Doku uses the LUM_User table to authenticate, and provide security clearance.

    The only issue I have encountered with this is it doesn't like Group names with spaces.. and ALL user account creation needs to be through Vanilla



    in the acl.auth.php

    * @Admin 16

    @(vanilla groupname) 16 is full access
  • Is that all that was in the ZIP file?
  • Thats what I used . havn't looked at the .zip
This discussion has been closed.