2017-05-11 23 views

回答

2

您可以將hapi-auth-basic的功能綁定到任何自定義登錄表單。您需要確保在服務器端正確評估屬性。

這是關於basic authentication in hapi with hapi-auth-basic的專用教程。

比方說,你已經一個形式是這樣的:(這是非常簡單的用於說明目的)

<form action="/login" method="post"> 
    <input type="text" name="username"> 
    <input type="text" name="password"> 

    <input type="submit" value="Log in"> 
</form> 

在服務器端,你需要有多種東西的地方:

  • 認證(
  • POST路徑處理程序/login,因爲表單中的表單是一個validateFunc的輸入並根據您的數據集對其進行評估將數據發送到這個端點
  • auth配置一套與你的路由處理策略

我的意思是這樣的設置:(再次,簡化的)

server.auth.strategy('simple', 'basic', { validateFunc: (request, username, password, callback) => {} }) 

server.route({ 
    method: 'GET', 
    path: '/private-route', 
    config: { 
    auth: 'simple', 
    handler: function (request, reply) { 
     reply('Yeah! This message is only available for authenticated users!') 
    } 
    } 
}) 

希望幫助!

+0

我嘗試了教程中的例子,但我仍然需要重定向到登錄頁面的指令soi認爲我們需要路徑/登錄方法GET的路由處理程序。 –

相關問題