DokuWiki的登录功能默认是关闭的,您可以通过配置local.php,users.auth.php,acl.auth.php这三个文件来设置DokuWiki的登录功能。
具体设置方法请见下面的说明:以本机调试为例。
DokuWiki默认的首页为Python 俱乐部页,现在首页里没有任何内容,页面也是英文的。下面我们来配置几个参数,让我们的wiki更符合我们的要求。
在conf目录下,找到local.php.dist,这个文件即local.php的样本,将其复制一份,重命名为:local.php。
local.php采用utf-8编码存储,使用支持utf-8编码的文本编辑器打开,内容见下(为了查看方便,去掉了一部分注释,请仔细对照):
$conf['title'] = 'My Wiki'; //wiki页面的标题,即页面右上方的标题。 $conf['useacl'] = 1; //启用ACL管理。0-不启用;1-启用。见下:
$conf['superuser'] = 'admin'; //超级用户(管理员)登录名。 $conf['authtype'] = 'plain'; //这里使用plain(简单)验证方式。
常用的三种登录验证方式:
* plain-使用配置文件,conf/acl.auth.php存储用户名及密码资料。 * ldap-使用ldap主机的用户资料来做使用者验及提供用户身份。 * mysql-使用mysql数据库资料存储用户资料。 //require_once ("mysql.conf.php"); //如果你不使用MySQL数据库,那么就请保持这一行的注释状态,或干脆删除该行。
接下来,根据情况,添加如下内容:
$conf['lang'] = 'zh'; //wiki的界面语言。默认为“en”,中文请改为“zh”。 $conf['youarehere'] = 1; //显示you are here导航。0-不显示,1-显示。 $conf['defaultgroup'] = 'user'; //默认用户组。 $conf['htmlok'] = 1; //是否支持html标记。0-不支持,1-支持。 $conf['phpok'] = 0; //是否支持php脚本。0-不支持,1-支持。 $conf['openregister'] = '0'; //是否允许用户注册。0-不允许,1允许。
至于local.php文件配置完成。
acl.auth.php中存储用户组及页面权限信息。在conf目录下,找到acl.auth.php.dist,这个文件即acl.auth.php的样本,将其复制一份,重命名为:acl.auth.php。
默认的acl.auth.php文件内容如下:
# acl.auth.php <?php exit()?> # Don't modify the lines above # # Access Control Lists # # Editing this file by hand shouldn't be necessary. Use the ACL # Manager interface instead. # # If your auth backend allows special char like spaces in groups # or user names you need to urlencode them (only chars <128, leave # UTF-8 multibyte chars as is) # # none 0 # read 1 # edit 2 # create 4 # upload 8 # delete 16 * @ALL 8
注意,这个权限表由下往上是相互包含的,即如果你为一个用户组设置上传权限,那么上传权限以上的权限,读取,编辑,建立等是自动添加的,一定要注意。按此编辑用户组权限如下:
* @admin 255 //为admin用户组分配全部权限。255这个权限值是专为admin用户组准备。 * @user 8 //为user用户组分配上传以下的权限。 * @ALL 1 //为所有人,即浏览者分配读取权限。 playground:playground @ALL 2 //为playground:playground页面分配编辑权限。
users.auth.php中存储用户组及页面权限信息。在conf目录下,找到users.auth.php.dist,这个文件即users.auth.php的样本,将其复制一份,重命名为:users.auth.php。
默认的users.auth.php文件内容如下:
# users.auth.php # <?php exit()?> # Don't modify the lines above # # Userfile # # Format: # # user:MD5password:Real Name:email:groups,comma,seperated
最后一行,即user:MD5password:Real Name:email:groups,comma,seperated即添加单个用户配置的标准格式。
user -->用户名 md5password -->采用md5加密的密码 real name -->真实姓名 email -->电邮地址 groups -->用户组
各个权限项之间用:分隔。举例如下,用户名:admin,密码:admin,真实姓名:tr.c,电邮地址:tr.c@huobao0911.com,用户组admin
admin:21232f297a57a5a743894a0e4a801fc3:tr.c:tr.c@huobao0911.com:admin
用记事本编辑以下文本行,存储为md5.php,在服务器上调试此文件,生成相应文本的md5编码:
<form action="" method="post" name="form1"> <input type="text" name="textfield"> <input type="submit" name="Submit" value="create"> </form> <?php echo $_POST["textfield"]; echo "<br>"; echo md5( $_POST["textfield"]); ?>
至此,DokuWiki的登录设置完成。