apache 用户验证详解

用户验证配置方式

用户验证配置行提示信息

       AuthType basic                                              表示进行验证的方式
       AuthName "hello"                                           表示验证时提示的信息(可随意进行填写)
       AuthUserFile /etc/httpd/conf/htpasswd           表示身份验证文件(包含用户名和密码)的物理位置    /etc/httpd/conf/htpasswd即表示为本测试中的身份验证文件的位置
       Require user admin                                         表示允许某个用户进行身份验证(该用户必须存在于身份验证文件中)    admin即表示为一个用户

       Require user admin  admin2  admin3              表示允许某几个用户进行身份验证(该用户必须存在于身份验证文件中)  admin  admin2  admin3  分别为3个用户
       AuthGroupFile /etc/httpd/conf/htgroup          表示用户组身份验证文件的位置(包含组信息和用户信息) /etc/httpd/conf/htgroup即表示本测试中用户组身份验证文件位置
       Require  group web                                        表示允许某个组内用户进行身份验证(组内用户必须存在于用户身份验证文件中) web则为一个用户组
       [size=19.2000007629395px]require valid-user       表示允许所有通过身份验证的用户进行登录(身份验证文件中存在的所有用户)


单用户身份验证测试:

第一步:创建身份验证文件
[root@localhost conf]# cd /etc/httpd/conf
//使用htpasswd创建身份验证文件  -c 为新建
[root@localhost conf]# htpasswd -c htpasswd admin
New password:   //输入密码
Re-type new password:  //输入密码
Adding password for user admin
//查看是否建立完成
[root@localhost conf]# cat htpasswd 
admin:0sGtNjUM21IOI   //可以看到建立的用户admin 密码默认使用了MD5加密
[root@localhost conf]# 


第二步:配置apache开启身份验证
在任意一个Directory里面添加需要进行apache身份认证的信息(虚拟主机中默认没有Directory需要自己进行添加)
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
    DocumentRoot /opt/www
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
    <Directory "/opt/www">
       AuthType basic                                                         //默认不修改
       AuthName "hello"                                                     //编辑提示信息
       AuthUserFile /etc/httpd/conf/htpasswd                      //修改为你创建身份验证信息的位置
       Require user admin                                                   //设置允许进行身份验证的用户(身份验证文件中必须存在)
    </Directory>
</VirtualHost>

第三步:重启apache服务并进行访问测试
[root@localhost ~]# service httpd restart
停止 httpd:                                               [确定]
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [确定]
[root@localhost ~]#   
//浏览器访问(输入正确的用户名及密码,输入错误则会让重新输入)
//admin用户访问测试
多用户身份验证测试:
第一步:修改身份验证文件,添加多个用户
[root@localhost conf]# cd /etc/httpd/conf
[root@localhost conf]# htpasswd htpasswd admin1
[root@localhost conf]# cat htpasswd 
admin:0sGtNjUM21IOI
admin1:JswY/vtvg0OoI


第二步:修改apache配置文件允许多个用户进行身份验证
<VirtualHost *:80>
    DocumentRoot /opt/www
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
    <Directory "/opt/www">
        AuthType basic
        AuthName "hello"
        AuthUserFile /etc/httpd/conf/htpasswd
        Require user admin admin1
    </Directory>
</VirtualHost>



第三步:重启apache服务并进行访问测试
[root@localhost ~]# service httpd restart
停止 httpd:                                               [确定]
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [确定]
[root@localhost ~]#   
//浏览器访问(输入正确的用户名及密码,输入错误则会让重新输入)
//admin1用户登录测试//admin用户登录测试



允许所有身份验证文件中存在的用户进行身份验证测试:
第一步:修改apache使其支持apache身份验证,验证身份验证文件中存在的所有用户
<VirtualHost *:80>
    DocumentRoot /opt/www
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
    <Directory "/opt/www">
        AuthType basic
        AuthName "hello"
        AuthUserFile /etc/httpd/conf/htpasswd
       Require valid-user
    </Directory>
</VirtualHost>

第二步:web访问测试
//admin  访问测试
//admin1  访问测试

apache用户组方式身份验证
第一步:创建用户组文件
[root@localhost conf]# cd /etc/httpd/conf
[root@localhost conf]# vim htgroup 
web:admin admin1    //用户组名称


第二步:修改apache配置文件,使其支持用户组的方式进行身份验证
<VirtualHost *:80>
    DocumentRoot /opt/www
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
    <Directory "/opt/www">
        AuthType basic
        AuthName "hello"
        AuthUserFile /etc/httpd/conf/htpasswd
        AuthGroupFile /etc/httpd/conf/htgroup         //定义用户组的配置文件
        Require group web                                        //允许验证某个用户组内的用户
    </Directory>
</VirtualHost>


第三步:重启apache服务访问测试

你可能感兴趣的:(apache,用户验证详解)