http服务(二)——apache基于用户名访问控制

当访问某些网站或网页时需要输入用户名和密码。身份认证是防止非法用户使用资源的有效手段,也是管理注册用户的有效方法,现在很多网站都使用身份认证来管理用户资源,对用户的访问权限进行严格的限制。Apache 服务器允许在全局访问配置文件或用户的“.htaccess”文件中对目录进行强制口令保护。对于口令保护的目录,必须为四个不同的命令指定相应的值,即AuthName、AuthType、AuthUserFile和AuthGroupFile 命令。下面分别来介绍。
(1) AuthName。AuthName 命令是一个短的字符串,告诉用户他们所被询问的口令,如:
“Please input you valid username and password:”。
(2) AuthType。AuthType 命令标识了服务器使用的鉴别方法。AuthType 可以选择两个设置之一:Basic 和Digest。如果将AuthType 设为Basic,使用的就是标准的和基于Unix 加密方式的口令系统,还需使用AuthUserFile 命令。如果将其设为Digest,使用的就是MD5加密方式,这是一种更为安全的编码系统。在大多数站点上不应该使用Digest,因为它还没有得到大多数浏览器的支持,但是在Intranet 和可以决定所有用户使用的浏览器软件的小规模的应用中,它是可以使用的。
(3) AuthUserFile。AuthUserFile 命令指定了目录中Apache 服务器用户口令文件的全路径名。可以使用htpasswd 程序来创建口令文件。
(4) AuthDigestFile。如果使用的是Digest 鉴别方式,就要使用AuthDigestFile 作为口令名单。与AuthUserFile 相同,只要将AuthDigestFile 设置为口令文件的路径名和文件名即可。要创建文摘式的口令文件,可以使用htdigest 程序。
(5) require。require 命令指定需要什么条件才能被授权访问。可以使用这个命令强制对一目录的口令保护。这个命令后面应该跟一份“实体”名单。这些实体可以是AuthUserFi1e或AuthGroupFile 命令所定义的用户或组的名称,也可以使用“valid-user”的关键字,告诉服务器在AuthUserFile 中的任何用户只要能够提供有效的口令就允许进行访问。它可以只列出可能连接的指定用户、指定可能连接的用户的一个组或多个组的清单,如:
require user user1 user2
#只有user1 和user2 可以访问。
require group test
#只有test 组可以访问。
下面通过一个具体的实例来讲述基于主机的Apache 的访问控制。
【实例12.6】
本实例是对/usr/apache/htdocs 目录进行保护,需要合法的用户名和口令才能访问。操作过程如下:
(1) 配置httpd.conf 文件。在httpd.conf 文件中的配置模块代码如下:
<Directory /usr/apache/htdocs/>
#该模块的作用目录为/usr/apache/htdocs/。
AuthName Protected
#提示用户的信息为“Protected”。
AuthType basic
# AuthType 鉴别方法是basic。
AuthUserFile /usr/apache/conf/users
# 这一行很重要,它指定了验证用户名和口令的路径和文件名。
<Limit GET POST>
# 限制HTTP 协议中的GET 和POST 方法。
require valid-user
# 需要合法的用户,即在/usr/apache/conf/users 文件中的用户。
</Limit>
</Directory>
(2) 生成用户密码文件。命令htpasswd 可以帮助我们完成这项任务。
比如说我们想要生成lgm 用户密码文件,操作如下:
[[email protected] /root]# htpasswd –c -m /usr/apache/conf/users lgm 123456
其中123456 是用户lgm 的验证密码。-m表示以md5方式加密,
如果想要生成多个用户,则需要去掉-c参数,否则会覆盖前面内容,操作如下:
[[email protected] /root]# htpasswd –m /usr/apache/conf/users test 123456
执行完上述的命令后,可以查看users 文件的内容,操作如下:
[[email protected] /root]#cat /usr/apache/conf/users
内容如下:
lgm:bBdPD1.jOo3tQ
test:3PIo6y6wDBuI2
(3) 测试。重新启动Apache 服务器后,在浏览器中输入本机IP,要求输入用户名和密码才能访问。

时间: 2024-10-12 16:27:54

http服务(二)——apache基于用户名访问控制的相关文章

SpringMVC+Apache Shiro+JPA(hibernate)案例教学(二)基于SpringMVC+Shiro的用户登录权限验证

序: 在上一篇中,咱们已经对于项目已经做了基本的配置,这一篇文章开始学习Shiro如何对登录进行验证. 教学: 一.Shiro配置的简要说明. 有心人可能注意到了,在上一章的applicationContext.xml配置文件中,包含以下配置. <!-- 項目自定义的Realm --> <bean id="shiroDbRealm" class="org.shiro.demo.service.realm.ShiroDbRealm" ><

14.LAMP服务 Linux Apache Mysql Php和防护机制 xinetd、tcp wapper

一.安装LAMP服务 Linux Apache Mysql Php 要求操作系统支持 php解析 apache调用php插件解析 phpmyadmin yum install php-common rpm -ivh php-mbstringXXXXX yum install php php-mysql mysql-server http -y vim /etc/php.ini 229行 short_open_tag = On /etc/init.d/httpd restart vim /var/

apache基于mod_jk模块实现代理及负载均衡Tomcat Cluster

一.基于mod_jk模块实现apache代理tomcat 上篇博文已经学习了nginx代理和负载均衡tomcat及apache基于mod_proxy模块代理tomcat; 现在来学习下apache基于mod_jk模块实现代理及负载均衡Tomcat Cluster 1.基于httpd代理tomcat时可以使用httpd的两个模块 1)mod_jk:第三方模块 mod_jk是ASF的一个项目,是一个工作于apache端基于AJP协议与Tomcat通信的连接器,它是apache的一个模块,是AJP协议

apache基本配置管理之:apache基于IP,port和域名三种虚拟主机配置方法

apache配置管理 一.基于端口,即基于不同的端口,相同的IP的虚拟主机      基于相同ip不同port的虚拟主机 1)vi /etc/http/conf/httpd.conf 2)将Listen字段改为 Listen 80 Listen 8888 (以上设置表示使用80以及8888端口) 3)更改虚拟主机部分为: <VirtualHost 192.168.0.1:80> DocumentRoot /var/www/html/website1 ServerName www.website

将 Shiro 作为应用的权限基础 二:基于SpringMVC实现的认证过程

认证就是验证用户身份的过程.在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法.最常见的“实体/凭证”组合便是“用户名/密码”组合. 一.认证过程 1.收集实体/凭据信息 Java代码 UsernamePasswordToken token = new UsernamePasswordToken(username, password); token.setRememberMe(true); UsernamePasswordToken支

web服务httpd-2.2基于域名虚拟主机

web网站服务: Apache著名的开源Web服务软件,由ASF自由软件基金负责维护操作 官方站点:http://httpd.apache.org/ http://www.netcraft.com/ 对各种Web软件的市场份额做了详细的统计 实验需求: 1.建立httpd服务,要求:   (1) 提供两个基于名称的虚拟主机www1, www2:有单独的错误日志和访问日志    (2) 通过www1的/server-status提供状态信息,且仅允许tom用户访问   (3) www2不允许192

http服务(四)——apache虚拟主机配置

apache虚拟主机分为三类:基于IP.基于端口.基于域名.通常虚拟主机和物理主机不能同时使用,开启虚拟主机需注释掉以下一行: DocumentRoot "/var/www/html" 一.基于IP 1. 假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP: [[email protected] root]# ifconfig eth0:1 192.168.1.11 [[email protected] root]# ifcon

Centos6.4下快速构建基于用户名密码验证的openvpn服务器

如今VPN应用已经非常广泛了,之前就写过一篇关于PPTPD的博文.链接是http://cyr520.blog.51cto.com/714067/1161788. 家里最近新换了一个宽带.居然没办法用拨上公司的PptpdVPN,一直拨号状态一直停留在正在验证用户名和密码这一步.百度谷歌了一大圈,也没解决这个问题.貌似是因为宽带运营商屏蔽GRE协议的原因.作为运维人员,不能及时的连上公司的内部网络是一件很让人不爽的事情. 干脆再搞一套OpenVPN吧,据说OpenVPN非常强大,可以适应很复杂的网络

谈谈分布式事务之二:基于DTC的分布式事务管理模型[下篇]

[续上篇] 当基于LTM或者KTM的事务提升到基于DTC的分布式事务后,DTC成为了本机所有事务型资源管理器的管理者:此外,当一个事务型操作超出了本机的范 围,出现了跨机器的调用后,本机的DTC需要于被调用者所在机器的DTC进行协助.上级对下级(包括本机DTC对本机所有资源管理器,以及上下级DTC) 的管理得前提是下级在上级那里登记,即事务登记(Transaction Enlist).所有事务参与者,包括所有资源管理器和事务管理器(即DTC)在进行了事务等级完成之后形成了一个树形的层级结构,该结