有时候,访问网站时会看到浏览器弹出一个输入框,提示输入用户名和密码才能访问。
出现这种情况是由于apache服务器对某些特定的目录设置了访问权限。

下面就来实现该功能。

在apache根目录下创建一个文件夹用作测试,代码如下所示

1 mkdir /var/www/html/userdir
2 mkdir /var/www/html/userdir/video /var/www/html/userdir/picture /var/www/html/userdir/data
3 mkdir /var/www/html/userdir/music /var/www/html/userdir/other

浏览器访问测试,效果如下图所示

Apache基于用户的访问控制

接下来为该目录添加用户访问权限
编辑httpd服务器配置文件

1 vim /etc/httpd/conf/httpd.conf
2 #添加如下所示代码
3 <Directory "/var/www/html/userdir">
4          Options Indexes 
5          AuthName "Restricted Files"
6          AuthType Basic      //认证方式由auth_mod提供的basic方式
7          AuthUserFile "/var/www/.htpass"    //基于文件的认证方式以及文件名称
8          require valid-user      
9 </Directory>

详细选项说明参考:http://man.chinaunix.net/newsoft/ApacheManual/howto/auth.html
配置好后,文件内容如图所示

Apache基于用户的访问控制

使用htpasswd命令添加用户并生成.htpass文件,命令如下所示

1 htpasswd -c /var/www/.htpass vampire    //vampire为访问用户名

执行后会看到目录/var/www中生成了.htpass文件

重启apache服务器
service httpd restart

打开浏览器访问测试如图所示

Apache基于用户的访问控制

相关文章:

  • 2021-07-24
  • 2021-10-22
  • 2021-09-20
  • 2022-12-23
  • 2021-11-11
  • 2022-12-23
猜你喜欢
  • 2021-12-09
  • 2021-09-26
  • 2022-12-23
  • 2021-05-17
  • 2021-04-16
  • 2021-11-14
  • 2022-12-23
相关资源
相似解决方案