基于应用程序级的Apache认证配置(普通认证篇)

基于应用程序级的Apache认证配置(普通认证篇)
作者:雨水   日期:2007-03-23 转载请保留此处
 
Apache服务器提供了两种用户认证方式,即普通认证和摘要认证。在网上有很多讲如何配置Apache普通认证的文章,但是它们几乎都是类似告诉你如何去保护某个文件夹的文件之类的配置方法。
如果你的需求是对所有的HTTP请求都认证,并且针对认证后的请求做出相应的处理,这又该如何配置呢?这里也跟我这里题目有关。首先我要解释一下它。这个题目为什么叫基于应用程序级呢?也就是说这里的配置不是为那些将Apache用于网页浏览的Web服务器配置,而是为需要在Apache上做应用程序开发,处理自定义业务的用户。要对所有的HTTP请求自己再加自定义的处理,因此就必须编写了自己的Apache模块,并定义了处理方法,这里叫hello-bdb。
首先,配置httpd.conf文件。你需要在conf目录下的httpd.conf文件中加入(位置不重要,但必须放在最顶层)如下配置:
<Location />
    SetHandler hello-bdb
    AuthName "Server Infomation"
    AuthType Basic
    AuthUserFile D:/Apache22/conf/htpasswd.pwd
    require valid-user
</Location>
针对上述配置的解释:
(1)SetHandler 是增加的自定义处理,也就是自己编写的处理模块;
(2)AuthName 后面是服务器信息,你可以替换成任意字符,最好用能反应你服务器信息的字符串,这里个信息会显示在输入用户和密码的对话框中,见后面的图;
 
(3)AuthType 后面是认证类型,Basic表示普通认证。摘要认证相应的指令是Digest;
(4)AuthUserFile 后面是你存放用户名和密码的文件,后面会介绍如何生成该文件;
(5)require valid-user表示配置文件中的合法用户都可以访问。
 
其次,生成用户名和密码文件。这时要使用Apache提供的htpasswd工具。方法如下:
htpasswd -bc ../conf/htpasswd.pwd user1 1234
上述命令生成htpasswd.pwd文件,并向其中加入用户user1,密码为1234。
如果成功了,系统会提示如下。
Automatically using MD5 format.
Adding password for user user1
最后,运行。在浏览器中输入 http://localhost。会弹出图示如下的对话框:

分别输入用户名user1和密码1234,然后系统通过认证后,进行自定义的处理,然后会将处理结果返回到浏览器。
大家一看就感觉上面的普通认证安全性不高,并且用户名和密码在传输过程中也只进行了Base64编码,很容易被窃取。摘要认证的安全性要比普通认证高,缺点就是不是所有的浏览器都支持它。
在另外的文章中,我会介绍摘要认证的配置方法。如有疑问欢迎评论或 来邮。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gobitan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值