首页 > 代码库 > Apache用户认证

Apache用户认证

背景一般php写的用户认证,都是允许任何用户注册,然后可以登录;该用户认证需手动在Apache服务器端添加,认证后才能访问目录文件内容;不适合注册,仅适用于小范围内网,如校园网


1. 修改虚拟主机配置文件/usr/local/apache2/conf/extra/httpd-vhosts.conf

    <Directory /data/www/test>               # 主页根目录下建立需认证目录

      AllowOverride AuthConfig                 # 打开AllowOverride,或者选择ALL

      AuthName "please input password"  #描述,自定义

      AuthType Basic                         # 用户认证类型,固定格式

      AuthUserFile /data/.htpasswd  # /data/.htpasswd 用于存放验证用户和密码

                                                        # apache对“.ht”开头的密码文件默认不允许外部读取

      require valid-user                     # 出现在账号密码文件中的用户都能登录

   </Directory>


     说明:

     以下4行也可单独写进文件.htpasswd中,条件:

     1)文件放置于要认证的文件目录(如/data/www/test)下

     2)需开启AllowOverride

     3)文件名固定为.htaccess


      AuthName "please input password"

      AuthType Basic

      AuthUserFile /data/.htpasswd

      require valid-user


2. 创建密码文件和用户

    说明:使用htpasswd命令创建用户,在第一次创建时加-c可创建文件,第二次无需再加-c,否则会覆盖掉原文件

    命令 htpasswd -c -m /data/.htpasswd  admin   # 生成用户和密码于/data/.htpasswd文件中

    命令 htpasswd -m /data/.htpasswd  admin1


3. 测试

    重启apache,浏览器输入 http://网站/test


本文出自 “一马踏平川” 博客,请务必保留此出处http://huangzp.blog.51cto.com/12434999/1906875

Apache用户认证