2015-12-08 89 views
2

問題 我有一個使用基本身份驗證並具有多個不同登錄名的網站。我想用JavaScript的方式告訴用戶當前登錄人員的用戶名。如何區分使用基本身份驗證的用戶

我檢查了cookie並且基本身份驗證憑證沒有存儲在那裏。

堆棧 我使用Apache與.htaccess.htpasswd文件,以便使用後端知道哪些用戶登錄前端配置不是一個選項。

目標 我試圖解決的問題是非常簡單的,我希望我的網站,以顯示人的當前登錄。

回答

1

不是沒有PHP的一點點的用戶名。 Javascript在客戶端執行,正如你已經發現的那樣,用戶名不是從服務器發送的,所以你需要在服務器端發送一些東西來發送這個用戶標識符。

方法如下:

當你的頁面在服務器上生成,它採用一小塊的PHP的用戶名添加到您的JavaScript,這就是JavaScript的它是如何在客戶端用它做什麼需要。

請注意,在用戶再次請求頁面之前,用戶ID不會改變,所以它不是在客戶端中間階段需要動態的。

PHP在用戶登錄時在服務器端生成頁面,並將其包含在頁面上的JavaScript代碼中。如果你想在JavaScript中使用這個名字,你可以使用<?php echo $_SERVER['REMOTE_USER']; ?>。文件擴展名將需要.php文件在你的HTML和JavaScript代碼的服務器上。

+1

謝謝!我添加了一個文件user.php並放入'<?php echo $ _SERVER ['REMOTE_USER']; 「然後我向該文件發出了一個請求,它就起作用了! – swsmith

+0

這很好。僅供參考,只需將上面的REMOTE_USER更改爲http://php.net/manual/en/reserved.variables.server.php列表中的其他任何其他服務器,就可以從服務器獲得很多服務。有時非常方便( - : – Trevor

相關問題