您需要向瀏覽器發送401響應代碼,以便瀏覽器提示輸入用戶名和密碼。下面是來自PHP manual採取PHP的例子:
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>
你應該能夠做同樣的事情在你所選擇的語言,雖然你將需要研究其中的用戶名和密碼變量存儲在語言你用。
作爲一種替代方案,您也可以在Web服務器中對其進行配置。這樣Web服務器就可以處理認證,並且只需要對應用程序進行編程即可獲取通常在「REMOTE_USER」環境變量中找到的當前用戶名。在Apache中可以按照以下方式限制訪問特定的文件夾:
<Directory /usr/local/apache/htdocs/secret>
AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen
</Directory>
更多信息,請參見Apache documentation on authentication and access control。即使您使用的是不同的Web服務器,也請放心,這是Web服務器的常見功能。我相信你可以在你使用的任何Web服務器上找到相應的功能。
你是可以理解的。但實現這一點的簡單方法是通過您的網絡服務器配置。不是編程問題,IMO。 – 2011-01-31 01:26:51
你指的是HTTP認證?你在用什麼服務器?阿帕奇? – Meitham 2011-01-31 01:28:26