zoukankan      html  css  js  c++  java
  • Apache基于用户的访问控制

    有时候,访问网站时会看到浏览器弹出一个输入框,提示输入用户名和密码才能访问。
    出现这种情况是由于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

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

    接下来为该目录添加用户访问权限
    编辑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
    配置好后,文件内容如图所示

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

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

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

    重启apache服务器
    service httpd restart

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

  • 相关阅读:
    LeetCode_35.搜索插入位置
    LeetCode_349.两个数组的交集
    LeetCode_344.反转字符串
    LeetCode_34.在排序数组中查找元素的第一个和最后一个位置
    LeetCode_303.区域和检索
    LeetCode_3.无重复字符的最长子串
    LeetCode_292.Nim 游戏
    LeetCode_283.移动零
    LeetCode_27.移除元素
    LeetCode_268.丢失的数字
  • 原文地址:https://www.cnblogs.com/iaknehc/p/7474434.html
Copyright © 2011-2022 走看看