2017-08-25 16 views
0

我正在使用Play框架開發Web應用程序。現在我需要執行認證/授權沒有數據庫(真奇怪的要求)。只有登錄和註銷功能,不需要註冊。用戶名/密碼對將使用外部服務進行認證。使用Play框架實現用戶登錄/退出而不使用數據庫

由於經驗有限,我目前的想法是使用令牌進行身份驗證,並使用本地文件來存儲用戶名/密碼。

我的想法是否可行?有沒有推薦的庫?如果我使用令牌,是否需要每次都在Http請求/響應中傳遞該令牌並在每個控制器中驗證令牌?

謝謝!

回答

0

爲什麼將用戶名和密碼存儲在本地文件中?我沒有看到這一點,這構成了一個數據庫,你想避免它似乎...如果你想要部署多個服務器,並有一些負載平衡,決定使用本地文件將是一個重要的限制完成。

Playframework是無狀態的,這意味着服務器不會保持會話狀態。要解決該問題,請使用簽名會話cookie(瀏覽器正在存儲會話數據,並且無法在會話數據簽名時對其進行修改)。

這裏是你可以做什麼:

現在,這種方法有一個嚴重的下行,它讓人們重播(再利用)舊會話cookie假裝被記錄。另一個(可能不太嚴重,取決於您的要求)是,在一定的不活動之後實施會話過期並不簡單。

這可能足以回答你的問題並給你一個出發點。

+0

感謝您的啓發。我想在本地文件中存儲憑據,因爲我需要在許多其他服務和助手中使用用戶名/密碼,但在閱讀您的答案後,我可以看到它缺乏考慮。我會閱讀鏈接,再次感謝。 – Zanecat

+0

在上面的存儲憑證之上,這種方式需要非常小心的設計,否則它很快就會變成安全噩夢。 –

相關問題