我有一個工作節點應用程序,我需要根據用戶通過basicAuth連接到應用程序連接到不同的數據庫。NodeJS express basicAuth - 如何將用戶名傳遞給路由功能?
這裏有一個例子:
// Authenticating function
var sgAuth = express.basicAuth(function(user, pass, callback){
if(config.credentials.clients[user] === undefined) {
callback(null, false);
} else {
callback(null, config.credentials.clients[user].password == pass);
}
});
// This function needs to know what user has authenticated
function putEvents(req, res) {
//How do I know what user authenticated in this request?
var authUser = ???;
var table = getUserTable(authUser);
...
}
app.post('/put', sgAuth, putEvents);
在sgAuth存儲的用戶名來一些變種肯定不會工作,因爲可以有來自不同用戶的許多傳入連接,所以你不能保證其相同的用戶, 對?該信息是否可以以某種方式從請求標題中檢索?
衛生署,我從字面上只是注意到我應該返回用戶名! :)'callback(null,config.credentials.clients [user] .password == pass?user:false)' –
請問utils.pause的目的是什麼? –
@KatyaS [它似乎是](https://github.com/senchalabs/connect/blob/2.12.0/lib/utils.js#L239-L266)向後兼容['readable.pause()' ](https://github.com/senchalabs/connect/blob/2.12.0/lib/utils.js#L239-L257),這可以防止'req'在等待時傳輸'data'(任何主體內容) '回調'。 –