diff options
author | Andreas Gohr <gohr@cosmocode.de> | 2006-01-10 10:29:03 +0100 |
---|---|---|
committer | Andreas Gohr <gohr@cosmocode.de> | 2006-01-10 10:29:03 +0100 |
commit | f5cb575df722c05fc0a6ba960bd2a79d5ed5621c (patch) | |
tree | 3638e9a835a860e94a86c52e745880fcc4c6810f /inc/auth/basic.class.php | |
parent | 96331712eb165972845b097644336ca87a81dfcd (diff) | |
download | rpg-f5cb575df722c05fc0a6ba960bd2a79d5ed5621c.tar.gz rpg-f5cb575df722c05fc0a6ba960bd2a79d5ed5621c.tar.bz2 |
external authentication
This patch adds the functionality to override the usual auth_mechanism
completely and replace it with your own. This can be used to authenticate
against Apache auth mechanisms or third party software cookies. A very
basic example for using PunBB's $pun_user variable is included.
darcs-hash:20060110092903-6e07b-7c7750da4eb4e9116ddc28c77015488ea500c07d.gz
Diffstat (limited to 'inc/auth/basic.class.php')
-rw-r--r-- | inc/auth/basic.class.php | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/inc/auth/basic.class.php b/inc/auth/basic.class.php index 8905f283d..f39a9c392 100644 --- a/inc/auth/basic.class.php +++ b/inc/auth/basic.class.php @@ -10,7 +10,55 @@ class auth_basic { - var $success = TRUE; + var $success = true; + + /** + * Do all authentication [ OPTIONAL ] + * + * If this function is implemented it will be used to + * authenticate a user - all other DokuWiki internals + * will not be used for authenticating, thus + * implementing the functions below becomes optional. + * + * The function can be used to authenticate against third + * party cookies or Apache auth mechanisms and replaces + * the auth_login() function + * + * The function will be called with or without a set + * username. If the Username is given it was called + * from the login form and the given credentials might + * need to be checked. If no username was given it + * the function needs to check if the user is logged in + * by other means (cookie, environment). + * + * The function needs to set some globals needed by + * DokuWiki like auth_login() does. + * + * @see auth_login() + * @author Andreas Gohr <andi@splitbrain.org> + * + * @param string $user Username + * @param string $pass Cleartext Password + * @param bool $sticky Cookie should not expire + * @return bool true on successful auth + */ +# function trustExternal($user,$pass,$sticky=false){ +# global $USERINFO; +# global $conf; +# $sticky ? $sticky = true : $sticky = false; //sanity check +# +# // do the checking here +# +# // set the globals if authed +# $USERINFO['name'] = 'FIXME'; +# $USERINFO['mail'] = 'FIXME'; +# $USERINFO['grps'] = array('FIXME'); +# $_SERVER['REMOTE_USER'] = $user; +# $_SESSION[$conf['title']]['auth']['user'] = $user; +# $_SESSION[$conf['title']]['auth']['pass'] = $pass; +# $_SESSION[$conf['title']]['auth']['info'] = $USERINFO; +# return true; +# } /** * Check user+password [ MUST BE OVERRIDDEN ] |