LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 5199|回复: 9

[原创]apache服务器实现用户验证

[复制链接]
发表于 2003-11-19 09:35:44 | 显示全部楼层 |阅读模式
原文:http://www.5ilinux.com/apache03.html
转载请注明出处:)

apache服务器实现用户验证


apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证。大家只要跟着我一步步做下来就应该能轻松实现用户验证。

前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,请先预习http://www.5ilinux.com/apache01.html

第1步:

我们在/var/www(apache的主页根目录)下建立一个test目录

mkdir /var/www/test

第2步

然后我们编辑httpd.conf

添加
Alias /test"/var/www/test"
<Directory "/var/www/test">
Options Indexes MultiViews
AllowOverride AuthConfig #表示进行身份验证
Order allow,deny
Allow from all
</Directory>


#AllowOverride AuthConfig 表示进行身份验证 这是关键的设置

第3步

在/var/www/test创建.htaccess文件
vi /var/www/test/.htaccess

AuthName "frank share web"
AuthType Basic
AuthUserFile /var/www/test/.htpasswd
require valid-user



#AuthName 描述,随便写
#AuthUserFile /var/www/test/.htpasswd
#require valid-user 或者 require user frank 限制是所有合法用户还是指定用户

#密码文件推荐使用.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一点哦。

第4步

就是创建apache的验证用户

htpasswd -c /var/www/test/.thpasswd frank

#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数

如果你们想修改密码,可以如下

htpasswd -m .htpasswd frank



第5步:

ok,重启apache服务,然后访问 http://你的网站地址/test 如果顺利的话,应该能看到一个用户验证的弹出窗口,只要填入第4步创建的用户名和密码就行



后话,为了服务器的性能,一般不推荐使用AllowOverride AuthConfig或者AllowOverride ALL,因为这会使服务器会不断的去寻找.htaccess,从而影响服务器的效能,一般我们把一些后台管理界面或者其他特殊目录可能需要加验证这个需求。
发表于 2003-11-19 14:08:30 | 显示全部楼层
不错的文章~谢谢~
发表于 2003-11-19 18:46:15 | 显示全部楼层
我来补充:
如果要对AuthUserFile中的用户再进行筛选,比如有两个用户frank,
Paul,则要在.htaccess加上
AuthGroupFile /var/www/test/.htgruop
Require group admin
其中.htgroup为用户组的文件名,文件内容格式为
admin:frank
Require group admin的意思是当用户属于admin组的时候才允许访问
发表于 2004-6-1 20:29:57 | 显示全部楼层
我没有按照你这样的安全配置,因为我在配置的时候跟我在同一局域网上的WINDOWS系统不能访问我的LINUX下的服务器,但却能PING得通我的机子!!不知为什么不能不能访问呢?
发表于 2004-7-31 11:56:23 | 显示全部楼层
我按你的配置做但不能登入。出现如下错误:
authorization required
this server could not verify that you are authorized to access the document requested ,either you supplied  the wrong credentials(eg: a bad passward) or your browser does not understand now to supply the credentials required
apache/2.0.46(Radhat)server at localhost port 80
发表于 2004-9-23 12:23:45 | 显示全部楼层
Thank you ,i successed~!~
发表于 2005-3-14 18:26:07 | 显示全部楼层

我也是跟这位兄弟一样的。

Post by guanjun
我按你的配置做但不能登入。出现如下错误:
authorization required
this server could not verify that you are authorized to access the document requested ,either you supplied  the wrong credentials(eg: a bad passward) or your browser does not understand now to supply the credentials required
apache/2.0.46(Radhat)server at localhost port 80


如果用Mozilla访问的话就会出现上面的问题,可是,如果用IE或者其他的浏览器就没有问题,请问这是怎么回事啊?如何解决?
谢谢!
回复 支持 反对

使用道具 举报

发表于 2005-4-14 13:30:15 | 显示全部楼层
上面的楼主
我也按它的做了
可是到第四步我的不执行啊
你们都是怎么做的
给个见解
haoyufu@ioz.ac.cn
回复 支持 反对

使用道具 举报

发表于 2005-11-1 10:21:36 | 显示全部楼层
输入用户名和密码,出现下面提示,无法登陆

Authorization Required
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.


--------------------------------------------------------------------------------

Apache/1.3.33 Server at ftp.scylzx.net Port 80
回复 支持 反对

使用道具 举报

发表于 2006-7-13 11:50:54 | 显示全部楼层
我得去配置一下,谢谢了!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表