2012-04-02 93 views
1

xml文件可用於登錄目的嗎?我想將登錄ID和密碼存儲在xml中,並從java程序中檢索它,以檢查輸入的用戶是否與xml中的任何數據匹配。 inshort我想用xml來驗證用戶。用於登錄驗證的Xml文件

+0

使用任何框架如彈簧,支柱.....爲此? – Java 2012-04-02 06:31:15

+0

不,我正在使用簡單的java swing – 2012-04-02 06:32:23

回答

0

您可以將憑據存儲在文本文件中嗎?當然。這是個好主意嗎?很可能不會。

+0

我嘗試了通過sax和dom解析器使用xml,但我無法實現它。實際上,我的項目工作,我被告知使用Xml進行登錄身份驗證,但我無法想出辦法。 – 2012-04-02 06:37:49

0

存儲簡單的密碼 - 甚至編碼的 - 並通過非安全協議檢索它們加密是一個可怕的,可怕的想法。我能想到的最接近的就是SAML。即使在SAML我們建議您:

  • 發送通過HTTPS消息,
  • 加密,
  • 標誌XML和
  • 加密填充NameID(通常是用戶ID和會話的組合ID或令牌,應在短時間後過期)。

從來沒有,我重複從來沒有發送密碼。 (爲什麼你需要它?)。

如果你想了解更多關於SAML的Java,我建議使用OpenSAML and/or Shibboleth。 SAML規範是here

我還建議你看看OWASP project,這樣你就可以加快安全性。

+0

那麼它對我的項目,我不得不做一個演示。其實我非常喜歡使用mysql,但我的嚮導告訴我他不想要任何數據庫,並嘗試使用XML來達到這個目的。其實我在我的智慧結束。我嘗試了很多東西,但它仍然沒有工作。 – 2012-04-02 06:47:15

0

你可以做到。 Here是一個如何讀取java中的xml文件的例子。這又不是一個好主意。

0

我認爲this link會解釋你如何從XML讀取數據。您只需讀取節點並保存即可。不建議

Another link

0

明文存儲密碼。 這是一個簡單的API來讀取/寫入Java中的XML文件。

SimpleXML

1

爲了使你的XML應用程序安全地保存密碼,您將需要一個加密機制。 Bouncy Castle.org爲Java提供了一個開放且免費的輕量級加密API。

通過這種方式,您可以在XML文件中存儲密碼的加密字符串。使用SAX,您就可以開發了。

這個原理和傳統上在Unix系統中使用多年的/ etc/passwd機制非常相似。您只需使用XML,而不是文本文件。

你的XML文件看起來像:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!DOCTYPE users SYSTEM "users.dtd"> 
<users> 
    <user> 
     <lastname>John</lastname> 
     <firstname>Doe</firstname> 
     <code>admin</code> 
     <password>DREbKLT4rX3e4j+kh3AXNM0bkjw=</password> 
     <role>Administrator</role> 
    </user> 
... 

你可以找到一個Java例子here,展示瞭如何使用SAX和Java。