XML-файл для аутентификации при входе - PullRequest
1 голос
/ 02 апреля 2012

Можно ли использовать XML-файл для входа в систему?Я хочу сохранить идентификатор входа и пароль в XML и извлечь его из Java-программы, чтобы проверить, совпадает ли введенный один пользователь с какими-либо данными в XML.Я хочу использовать xml для аутентификации пользователя.

Ответы [ 6 ]

1 голос
/ 02 апреля 2012

Чтобы приложение XML безопасно сохраняло пароли, вам потребуется механизм шифрования. Bouncy Castle.org предоставляет открытый и бесплатный легкий криптографический API для Java.

Таким образом, вы можете хранить зашифрованную строку для пароля в вашем XML-файле. Используйте SAX, и вы готовы к разработке.

Этот принцип очень похож на механизм / etc / passwd, который традиционно использовался в системах Unix на протяжении многих лет. Вы просто используете 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 здесь , который показывает, как использовать SAX с Java.

0 голосов
/ 02 апреля 2012

Хранение паролей в виде открытого текста не рекомендуется. Вот простой API для чтения / записи XML-файлов в Java.

SimpleXML

0 голосов
/ 02 апреля 2012

Я думаю эта ссылка объяснит вам, как читать данные из XML. Все, что вам нужно сделать, это прочитать узлы и сохранить их.

Другая ссылка

0 голосов
/ 02 апреля 2012

Вы можете сделать это. Здесь - пример, как читать XML-файлы в Java.Опять же, это не очень хорошая идея.

0 голосов
/ 02 апреля 2012

Хранение простых паролей - или даже закодированных - и извлечение их по незащищенному протоколу и шифрование - ужасная, ужасная идея.Самая близкая вещь, о которой я могу думать, - SAML.Даже в SAML рекомендуется:

  • отправить сообщение через HTTPS,
  • зашифровать его,
  • подписать XML и
  • зашифроватьNameID (часто комбинация идентификатора пользователя и идентификатора сеанса или токена, срок действия которого должен истечь через короткое время).

Никогда, я повторяю никогда отправить пароль,(В любом случае, зачем вам это нужно?).

Если вы хотите узнать больше о SAML в Java, я бы рекомендовал использовать OpenSAML и / или Shibboleth .Спецификация SAML здесь .

Я также рекомендую вам взглянуть на проект OWASP , чтобы вы могли ускорить работу по обеспечению безопасности.

0 голосов
/ 02 апреля 2012

Можете ли вы сохранить учетные данные в текстовом файле? Конечно. Это хорошая идея? Скорее всего нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...