1、简介
经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问。
这就是用户认证的一种技术。用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问用户的合法性,其目标是仅
让合法用户以合法的权限访问网络系统的资源。基本的用户认证技术是“用户名+密码”。
2、Apache的用户认证,基本认证方式Basic配置
我们今天讲解采用文本文件存储的方式。
首先我们可以现在一个Apache服务,或者下周一个xampp里面有集成Apache服务器,我这里采用的就是xampp讲解。
1、安装xampp,安装完成以后启动xampp,如图:
2、进行配置一个本地目录的Basic基本认证:
- 使用htpasswd.exe 生产一个用户名列表:htpasswd.exe 在你的安装目录..\apache\bin下:我的是C:\xampp\apache\bin找到htpasswd.exe以后到cmd下使用命令htpasswd.exe -c c:\user.txt Admin在user.txt中添加一个用户名为Admin的用户,并设置密码为Admin,就会在C盘下生成一个user.txt文件如图:
- 配置C:\xampp\apache\conf\httpd.conf,设置本地一个目录需要basic认证。在httpd.confg中添加如下一段代码即可将C盘目录设置为可访问。
Alias /test "c:\\"
<Directory "c:\\">
Options Indexes FollowSymLinks
allowoverride authconfig
order allow,deny
allow from all
AuthName "Login"
AuthType basic
AuthUserFile "C:\\user.txt"
require valid-user
</Directory>
3、上面两个步骤即已经配置完成,可以启动。
点击xampp上面的start按钮,如果没有意外情况应该可以启动起来。
如果没有起来下面会提示错误消息。但是xampp提过的错误信息实在是比较垃圾,根本看不懂,我们需要直接到我们的安装目录下面找到apache\bin目录,找到httpd.exe
在cmd窗口中启动,看错误信息。
比较常见的错误有两个:
- 一个是http的80端口被占用,我们需要修改httpd.confg中两处地方:Listen 8080 ServerName localhost:8080,我这里统一改成8080了
- 第二个是https的443端口被占用,这个端口配置在C:\xampp\apache\conf\extra\httpd-ssl.conf中配置的,我们可以修改#Listen 443端口号,我这里是将这个服务屏蔽掉了,即不监听443
总结:
上面动作完成以后,你就可以在网页上输入localhost:8080/test,就会弹出来窗口,让你输入用户名,密码,输入即可得到自己想要的东西了。