您的位置:首页 > 运维架构 > Apache

使用用户名和密码验证apache登录

2010-11-24 15:29 399 查看
Apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证。
第1步:

我们在/usr/local/apache/htdocs/(apache的主页根目录)下建立一个test目录

mkdir /usr/local/apache/htdocs/test

第2步

然后我们编辑httpd.conf

添加

Alias /test"/usr/local/apache/htdocs/test "

<Directory "/usr/local/apache/htdocs/test ">

Options Indexes MultiViews

AllowOverride AuthConfig

Order allow,deny

Allow from all

</Directory>

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

第3步

在/usr/local/apache/htdocs/test创建.htaccess文件

vi /usr/local/apache/htdocs/test /.htaccess

AuthName " my share web"

AuthType Basic

AuthUserFile /var/www/test/.htpasswd

require valid-user

#AuthName 描述,随便写

#AuthUserFile /var/www/test/.htpasswd

#密码文件推荐使用.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一点哦。
说明:文件.htaccess中常用的配置命令有以下几个:

  1) AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的(见附图)。

  2)AuthType命令:指定认证类型。在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5。

  3) AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。

  4) AuthGroupFile命令:指定包含用户组清单和这些组的成员清单的文本文件。组的成员之间用空格分开,如:

  managers:user1 user2

  5) require命令:指定哪些用户或组才能被授权访问。如:

  require user user1 user2(只有用户user1和user2可以访问)

  requiresgroupsmanagers (只有组managers中成员可以访问)

  require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)

第4步

就是创建apache的验证用户

htpasswd -c /usr/local/apache/htdocs/test/.htpasswd llk726 //添加用户llk726
New password:
Re-type new password:
Adding password for user llk726
#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数

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

htpasswd -m .htpasswd llk726

第5步:

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

本文出自 “键盘系人生” 博客,请务必保留此出处http://llk726.blog.51cto.com/622293/121365
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: