在上篇博文中介绍了基于客户端地址的访问控制,这种方法设置起来相对比较简单,但是不具备太大的实用价值。在实际应用中,我们大都是希望通过对用户进行身份验证从而来进行访问控制,在这篇博文中将主要介绍这种基于用户的访问控制方法。

在前面介绍IIS的时候曾提到过,在IIS中进行用户身份验证有3种方法,按照安全级别由高到低分别是:Windows身份验证、摘要式身份验证、基本身份验证。其中使用比较多的是基本身份验证。
Apache支持的身份验证方法有基本认证(Basic)和摘要认证(Digest)两种,应用较多的同样也是基本认证。下面就以基本认证为例来进行介绍。


同基于客户端地址的访问控制一样,基于用户的访问控制也是只能针对服务器上的某个目录进行设置,设置内容必须包含在<Directory 目录> …… </Directory>的区域中。
我们仍以www.example.com站点中的虚拟目录/movie为例来进行设置,要求只有输入用户名harry或natasha以及相应的密码才能访问www.example.com/movie。
修改配置文件/etc/httpd/conf/httpd.conf,在www.example.com站点的虚拟主机区域设置部分中添加如下的内容:

如果Apache中并没有启用虚拟主机,那么可以将下面图中的这部分区域设置内容添加在配置文件中的Main server部分。

下面对其中的设置项目进行解释:

  •  <Directory “/movie”>……</Directory>,表示对目录“/movie”进行访问控制设置。

  •  AuthName:定义受保护的领域名称,客户端访问时在弹出的认证登陆对话框中将显示该名称。

  •  AuthType:设置认证的类型,Basic为基本认证

  •  AuthUserFile:设置用于保存用户帐号、密码的认证文件路径。(文件可以自由定义,但通常都是保存于/etc/httpd/conf目录中,并采用.htpasswd的文件名,文件名前面加.表示隐藏文件。)

  •  require valid-user:授权给认证文件中的所有有效用户。这一项也可以写成“require user [用户名]”,指定一个具体的用户,这样无论认证文件中如何定义,也只有该用户才可以访问。

修改完配置文件后,保存退出。


下面再来添加认证用户,需要注意的是,这个认证用户与系统用户没有任何关系,也就是说我们并不需要先创建相应的系统用户,而是可以直接来添加认证用户。
对认证用户进行管理需要用到htpasswd命令,执行下面的命令创建.htpasswd文件并向其中添加harry用户。

命令中用到的两个选项的含义:
-c,创建用户认证文件   -m,MD5加密
如果要再加入别的用户,那么就不再需要-c选项。下面继续将natasha添加为认证用户:

我们可以查看一下这个认证用户文件,其中的用户密码都经过了MD5加密:

全部设置完成后,重启httpd服务使配置生效:
# service httpd restart


最后在客户端访问测试,在访问www.example.com/movie时提示要输入用户名和密码。成功通过验证后,可以顺利访问到该页面。

本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1207231

RHEL6.3配置Apache服务器(4) 基于用户的访问控制相关推荐

  1. RHEL6.3配置Apache服务器(2) 构建虚拟主机

    虚拟主机指的是在同一台服务器中运行多个Web站点,这个在之前的windows服务器部分已经介绍过. 有三种技术可以实现虚拟主机:基于域名的虚拟主机,基于IP地址的虚拟主机,基于端口的虚拟主机. 在实际 ...

  2. Linux下配置Apache虚拟主机(基于IP地址)

    Linux下配置Apache虚拟主机(基于IP地址) 一.虚拟主机 虚拟主机,又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术.虚拟主机之间完全独立,并可 ...

  3. 从0开始python后端开发_配置apache服务器(Mac系统)

    很久没写过关于配置这一类的教程了,今天给大家写一篇如何在mac系统环境下下安装以及正确的配置apache mac系统下有非常好用的软件管理包,Homebrew,所以我们不需要舍近求远去apache官方 ...

  4. 安装配置Apache服务器

    安装配置Apache服务器 一.Apache的工作原理   Web系统是客户端/服务器模式的,所以应该有服务器程序和客户端程序两个部分.常用的服务器程序是Apache,常用的客户端程序是浏览器.可以在 ...

  5. 如何在mac上配置Apache服务器

    如何在mac上配置Apache服务器 1. 打开终端,开启Apache: //开启apache:  sudo apachectl start //重启apache:  sudo apachectl r ...

  6. macOS配置Apache服务器

    注: macOS自带Apache服务器,只需要修改几个配置就可以 目录要在/Users/TaoWang 修改系统文件一定记住"sudo",否则会没有权限 在修改系统文件前请先备份 ...

  7. mac 配置apache 服务器 实现手机pc 端局域网传输

    mac 配置apache 服务器 一.上一篇太low 了 每次下载大的文件都会失败,经过苦苦的百度,终于找到了解决方案,那就是配置apache, 二.开启我们的配置 1.开启apache 服务,mac ...

  8. 云服务器(uCloud)部署java web项目(二) 安装,配置apache服务器

    自己组建了一个网站,想要发布到互联网上.然后我就找到了这个链接 https://www.codecasts.com/series/deploy-a-website-from-scratch(是一个从零 ...

  9. 配置Apache服务器的虚拟主机

    配置Apache服务器的虚拟主机 (1)启用apache的虚拟主机功能 LoadModule vhost_alias_module modules/mod_vhost_alias.so (2

最新文章

  1. 为了你的幸福,你知道细菌有多努力吗?
  2. 华为鸿蒙去哪里更新,华为鸿蒙OS正式尝鲜版名单更新,升级?还是不升级?
  3. Kotlin 系统入门到进阶
  4. oracle查询100到200数据,100分数据库查询语句(ORACLE 11g)
  5. POSIX风格正则表达式
  6. Linux基础学习三:VMware和CentOS的安装详细图文教程
  7. 信息学奥赛一本通(1226:装箱问题)
  8. java用中点画圆法_OpenGL通过中点法绘制直线和圆
  9. SpringBoot项目在启动时出现了Cannot determine embedded database driver class for database type NONE 错误
  10. easyui下拉选项多怎么解决_微信社群多难以管理怎么办?社群管家工具帮你解决烦恼...
  11. C++基础知识:fflush(stdin)的误区
  12. atitit.浏览器web gui操作类库 和 操作chrome浏览器的类库使用总结
  13. c#数据格式化之DataFormatString
  14. echolife hg8245说明书_华为光猫HG8245设置说明书
  15. verilog全加器、全减器和乘法器及溢出判断
  16. 固态硬盘的速度和内存的速度差距
  17. python数据分析与挖掘学习笔记(3)_小说文本数据挖掘part1
  18. Flink sql 写ddl连接kafka
  19. 大学英语六级超全复习资料
  20. 与计算机运算速度相关参数,计算机的运算速度与什么有关

热门文章

  1. Vim 实用技术,第 1 部分: 实用技巧
  2. 【机器学习】Logistic Regression 的前世今生(理论篇)
  3. 【OpenCV3】cv::convertScaleAbs()使用详解
  4. 【OpenCV3】阈值化操作——cv::threshold()与cv::adaptiveThreshold()详解
  5. VMware Workstation中安装linux系统(CentOS)超详细
  6. 初探 es6 promise
  7. 霍金:人工智能或是人类历史上最后事件
  8. GDI绘制时钟效果,与系统时间保持同步,基于Winform
  9. 2017年阵亡创业公司圈钱魔咒 烧钱补贴买流量已经过时?
  10. 统一代码风格工具 editorConfig