一、AuthDBMUserFile
<AuthnProviderAlias file ufile>
AuthUserFile /root/apache2/auth/userfile
</AuthnProviderAlias>
<Directory /root/apache2/htdoc>
AllowOverride None
AuthType Basic
AuthName "Entry username and password"
AuthBasicProvider ufile
Require valid-user
</Directory>
假如有成百上千个用户在userfile文件中,那么使用这种方式效率极低,应使用
AuthDBMUserFile,使用步骤如下
1.1 使用htdbm生成dbm文件
./htdbm -bc /root/apache2/auth/userdbm dbm1 dbm1
上述命令将生成userdbm.dir和userdbm.pag文件,并创建用户dbm1,密码dbm1
1.2 配置AuthDBMUserFile
<Directory /root/apache2/htdoc>
AllowOverride None
AuthType Basic
AuthName "Entry username and password"
AuthBasicProvider dbm
AuthDBMUserFile /root/apache2/auth/userdbm
</Directory>
按照上述配置后,访问资源需提供userdbm中存在的用户。
二、AuthDBMGroupFile
<Directory /root/apache2/htdoc>
AllowOverride None
AuthType Basic
AuthName "Entry username and password"
AuthBasicProvider dbm
AuthDBMUserFile /root/apache2/auth/userdbm
AuthGroupFile /root/apache2/auth/groupfile
Require group group1
</Directory>
上述指定只有组group1中的用户可访问资源,同样,如果groupfile中的数据很多,
效率也会很低,应使用AuthDBMGroupFile,使用如下
<Directory /root/apache2/htdoc>
AllowOverride None
AuthType Basic
AuthName "Entry username and password"
AuthBasicProvider dbm
AuthDBMUserFile /root/apache2/auth/userdbm
AuthDBMGroupFile /root/apache2/auth/groupfile
Require group group1
</Directory>
注:当使用AuthBasicProvider dbm时,原AuthUserFile即使指定了apache也不会加载使用其中的用户!