2010-08-16 112 views
0

我被授予了一項任務,用java編寫用戶身份驗證和登錄系統。我如何開始? 我可以寫一個簡單的登錄頁面,詢問用戶名和密碼,然後在servlet中針對數據庫檢查它們。這是'用戶身份驗證和登錄系統'嗎?另外我可以使用JAAS.但我認爲JAAS已經是一種認證服務。但我想從頭開始寫。請告訴我我從哪裏開始,到底需要做什麼?謝謝用戶身份驗證和登錄系統在JAVA

+0

爲什麼你要從頭開始寫,而不是通過使用已經寫好的庫節省時間和精力? – 2010-08-16 09:53:52

+0

當然要學習基礎知識。 – duffymo 2010-08-16 09:55:39

+0

其實我得到一個任務來做到這一點,而且我想了解事情如何在後臺工作。 – Shwetanka 2010-08-16 10:36:48

回答

1

是的,大多數身份驗證和登錄系統會提示用戶輸入用戶名和密碼,並根據數據庫驗證這些詳細信息以確保最終用戶的真實性。但是有很多重要細節可以確保整個系統的完整性和安全性。

一個重要的細節是從不將密碼存儲或顯示爲純文本,因爲它們可能被惡意方檢索。避免這種情況的典型方法是使用單向散列算法將其存儲在數據庫中,例如MD5或更好的SHA1。此外,不要在未加密的通道上傳輸純文本密碼,因爲它們可能會被未經授權的用戶攔截。還有很多其他問題需要仔細考慮,具體取決於系統的安全程度如何以及是否存在受到動機的攻擊者的合理威脅。使用現有的庫或框架可能是最務實的,但如果你想建立自己的,你應該做一些正確的研究這個問題。另外,HTTP有一些內置的認證方法,值得考慮,例如 basicdigest認證;瞭解這些方法將幫助您找到合適的解決方案。

+0

但是我應該怎麼做? 處理用戶登錄,管理會話和cookie。我想我必須管理所有這些東西。我想寫它也可以在其他應用程序中重用。 – Shwetanka 2010-08-16 10:59:25

0

是的,你是正確的第一你必須創建登錄頁面,然後首先做客戶端驗證,如用戶名和密碼字段不是空白....如果空白然後顯示適當的錯誤信息...再次密碼必須不被看到使用星號標誌來顯示密碼...然後發送請求到servlet並驗證它對你的數據庫....並給予適當的消息...我認爲這是你的期望...