Win32下具體實現Apache的用戶驗證

發表于:2007-07-14來源:作者:點擊數: 標簽:
相信大家采用的驗證方法很多種,而在Win32環境下如何設置Apache用戶驗證的介紹很少,手冊上介紹的也是 Unix 和 linux 環境下的配置,象我這樣在win32下苦苦摸索Apache的人應該不少,我根據自己的經驗介紹一下自己是如何在Win32環境下實現apache的用戶驗證功
相信大家采用的驗證方法很多種,而在Win32環境下如何設置Apache用戶驗證的介紹很少,手冊上介紹的也是Unixlinux環境下的配置,象我這樣在win32下苦苦摸索Apache的人應該不少,我根據自己的經驗介紹一下自己是如何在Win32環境下實現apache的用戶驗證功能的。

方法一:以單用戶方式實現某目錄只能由某個用戶或幾個用戶訪問。
假設Apache的web根目錄為 d:/home,對應URL為 http://localhost/
如欲使d:/home/test目錄只能由某用戶訪問,該目錄對應URL為http://localhost/test,訪問該URL時需要彈出驗證對話框。
d:/users目錄用來存放密碼文件 user.passwd

1、制作用戶密碼文件
在命令行方式先用Apache自帶的工具htpasswd.exe生成一個密碼文件叫user.passwd,-c參數表示新建文件,無參數表示在該口令文件中以添加方式增加一個用戶。
D:\apache\bin>htpasswd -bc d:/users/user.passwd user1 123456
這樣,就生成了d:/users/user.passwd 口令文件,里面有一行文字 user1:$apr1$4S3.....$.su.8AIrDEYMX7jKv2RT9/
成功增加了一個user1的用戶,如果想再添加其他用戶,就采用追加方式添加用戶:
D:\apache\bin>htpasswd -b d:/users/user.passwd user2 123456
D:\apache\bin>htpasswd -b d:/users/user.passwd user3 123456

好了,當添加完用戶,就可以著手實現用戶驗證了。

2、制作訪問驗證文件 .htaccess
打開記事本,輸入以下文字:

authtype basic
authname "www.home.net"
authuserfile d:/users/users.passwd
require user user1

然后另存為 .htaccess,保存路徑為你想實現驗證的目錄:d:/home/test/下,注意保存類型選"所有文件",文件名為".htaccess",否則就不會生成 .htaccess 文件了。

到這里,指定某個用戶驗證的設置就完成了,在瀏覽器中輸入驗證目錄所對應的地址 http://localhost/test/,會發現瀏覽器彈出一個對話框要求你輸入用戶名和口令,你就只能輸入用戶user1和密碼12345才能進去,輸入其他用戶如user2,user3是沒用的。

3、實現指定某幾個用戶對一個目錄的驗證
例如決定 http://localhost/test/ 能由user1和user3訪問,user2不能訪問,則編輯 d:/home/test/.htaccess 文件,把最后的一句:
require user user1
改為:
require user user1 user3
如此就實現了 http://localhost/test/ 只能由user1和user2訪問

4、實現所有合法用戶對一個目錄的驗證
例如決定 http://localhost/test/ 能由 d:/users/user.passwd 文件里的所有用戶訪問,則編輯 d:/home/test/.htaccess 文件,把最后的一句改為 :

require valid-user

就可以實現在 user.passwd 里用戶都能訪問http://localhost/test/了,只要輸入的用戶名和密碼沒有錯誤。

方法二:采用群組用戶方式實現驗證
要實現其實也很簡單,在方法一中對 user.passwd 文件里的用戶進行分組,建立用戶組文件,再在 .htaccess 文件里指定 authgroupfile 就可以了。假設 user.passwd 中已經添加了很多用戶 (user1,user2,user3,user4,...)
1、建立一個用戶組文件 d:/users/user.group ,內容如下:

manager:user1 user3
game:user2 user4
download:user5 user6 user7

如此,user.group 文件里把 user1至user7這7個用戶分為了3個組:manager,game,download 。

2、實現某組用戶能訪問 http://localhost/test/
編輯 d:/home/test/.htaccess 文件,內容如下:

authtype basic
authname "www.home.net"
authuserfile d:/users/users.passwd
authgroupfile d:/users/user.group
require group game

那么,http://localhost/test/就只能由 game組里的用戶 user2,user4 才能訪問了。

以上步驟,對于熟悉編程開發的同志來說,完全可以做個圖形界面程序來完成,就省事多了。
至此,Apache在Win32環境下的簡單驗證就實現了??磥砗?Linux下的設置方法差不多,我卻走了不少彎路才摸索出來,慚愧慚愧啊。
實現Apache的驗證方法還有數種途徑,以上只是一方面而已。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97