** Этот метод на самом деле возвращает true, если он правильный. Теперь проблема связана с LoginModule (функция JAAS).
В моем методе Java ниже я читаю строки из файла «file.txt». Во время чтения я вывожу каждую строку (это работает нормально), а затем проверяю каждую строку на соответствие строке «creds», состоящей из комбинации имени пользователя и пароля. Я пытался протестировать с "creds", точными строками и, как вы можете видеть ниже, используя три разных типа методов сопоставления. Ничего не работает, и возвращаемый логический «результат» всегда ложный. Кто-нибудь сталкивался с подобной проблемой раньше или мог бы мне помочь?
// Now perform validation. For login can either read from a file or a
// database. You can also incorporate secure password handling here.
System.out.println("Checking username and password: " + username +"/" + password);
String creds = username + ',' + password;
boolean result = false;
try {
File file = new File("file.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line;
while((line = br.readLine()) != null){
System.out.println(line);
if(line == creds || line.equals(creds) || line.contains(creds)){
result = true;
}
}
br.close();
fr.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result; // successful login.
}
Файл, который читает метод, выглядит так:
alicebob,thisissecure
tracyadam,mypass1