Apache用户认证方法汇总


以下内容出自:http://www.orsoon.com/article/article_10216.html

一.基本的Apache用户认证方法: 

若对某一目录下的文件如/home/ftp/pub需要做到用户认证,则在httpd.conf中加入下面的行 
<> 
options indexes followsymlinks 
allowoverride authconfig 
order allow,deny 
allow from all 

<> 
用在目录/home/ftp/pub下放文件.htaccess,内容如下: 
authname "shared files" 
authtype basic 
authuserfile /etc/.passwd 
require valid-user 

用随Apache来的程序htpasswd 生成文件/etc/.passwd,每行一个用户名:密码 

只要能提供正确的用户名和密码对,就允许登录访问,这是针对任何地址来的请求都要求提供用户名和密码认证。 

二.针对部分网段或地址要求认证。 

若公司LAN所在网段为192.168.0.0/24,且有一防火墙专线接入Internet,内部网卡的地址为192.168.0.1/32,则现在希望所有通过拨本地163通过防火墙上的apache反向代理向LAN上的另一WWW服务器访问时需要认证,而本地LAN上的用户不需认证。可以在httpd.conf中放入: 
〈Directory /home/ftp/pub> 
Options Indexes FollowSymLinks 
AllowOverride AuthConfig 
order deny,allow 
deny from 192.168.0.1 
〈/Directory> 

且在/home/ftp/pub/.htaccess中放入: 
AuthName "shared files" 
AuthType Basic 
AuthUserFile /etc/.passwd 
require valid-user 
satisfy any 

三.对同一目录及其下的子目录有不同的权限,仅某些人可以存取一目录下的子目录。 
如有一目录/home/ftp/pub/sales,有三个用户user1,user2,user3都需要用户名和密码进入/home/ftp/pub,但仅user1,user2能进入/home/ftp/pub/sales.则放下面的行到httpd.conf 

〈Directory /home/ftp/pub> 
Options Indexes 
AllowOverride AuthConfig 
order allow,deny 
allow from all 
〈/Directory> 

〈Directory /home/ftp/pub/sales> 
Options Indexes 
AllowOverride AuthConfig 
order allow,deny 
allow from all 
〈/Directory> 

且看/home/ftp/pub/.htaccess为: 
AuthName "shared files" 
AuthType Basic 
AuthUserFile /etc/.passwd 
require valid-user 

且看/home/ftp/pub/sales/.htaccess 
AuthName "shared files" 
AuthType Basic 
AuthUserFile /etc/.passwd 
AuthGroupFile /etc/.salesgroup 
require group manager 

且文件/etc/.passwd内容为: 
user1:passwd1 
user2:passwd2 
user3:passwd3 

且文件/etc/.salesgroup内容为: 
manager: user1 user2

 

posted @ 2013-04-08 15:50  jydeng  阅读(1516)  评论(0编辑  收藏  举报