Wundagore
Legacy Member
doel van het programma is dat we een soort van "applicatie" kunnen installeren en met een administrator account kunnen we users via een gelinkte Lijst toevoegen zodat deze kunnen inloggen.
probleem is nu:
programma werkt als administrator zonder gebruikers toegevoegd.
voeg ik een gebruiker toe in een node dan kan ik met de gebruiker inloggen en alles doen, maar de administrator functie gaat niet.
de login functie lukt dan ook niet.
Reden:
de users zitten in een Lijst en de administrator niet.
bij elke login request wordt er gekeken of de naam voorkomt in het user bestand, als deze er niet in zit hoort de Lijst een null te returnen en van hieruit kijken we of de user een administrator is om vervolgens zo in te loggen.
op dit punt loopt het vast omdat mijn method om gebruikers op te vragen in een oneindige lus blijft zitten omdat de Lijst geen null object bevat maar in plaats van een null de laatste gebruiker blijft teruggeven.
code volgt hieronder, vragen stel ze maar!
probleem is nu:
programma werkt als administrator zonder gebruikers toegevoegd.
voeg ik een gebruiker toe in een node dan kan ik met de gebruiker inloggen en alles doen, maar de administrator functie gaat niet.
de login functie lukt dan ook niet.
Reden:
de users zitten in een Lijst en de administrator niet.
bij elke login request wordt er gekeken of de naam voorkomt in het user bestand, als deze er niet in zit hoort de Lijst een null te returnen en van hieruit kijken we of de user een administrator is om vervolgens zo in te loggen.
op dit punt loopt het vast omdat mijn method om gebruikers op te vragen in een oneindige lus blijft zitten omdat de Lijst geen null object bevat maar in plaats van een null de laatste gebruiker blijft teruggeven.
code volgt hieronder, vragen stel ze maar!
Code:
public User findUser(String username, String userpass){
Returnee = null;
Temp = null;
node = Users.getEersteNode();
if (node == null) {
return Returnee;
}else if( node.getInhoud() instanceof User ) {
while (node != null) {
Temp = (User)node.getInhoud();
if (Temp.getUserName().equalsIgnoreCase(username) && Temp.getPassw().equalsIgnoreCase(userpass)) {
Returnee = Temp;
break;
}
node.getVolgendeNode();
}
}
return Returnee;
}
Code:
public void promptLogin(){
System.out.print("Login: ");
user = Console.readString();
System.out.print("Passwoord: ");
passuser = Console.readString();
Temp = findUser(user,passuser);
if( user.equalsIgnoreCase(Admin.getUserName()) && passuser.equalsIgnoreCase(Admin.getPassw()) ){
Admin.Login();
promptAdministratorApplicationChoices();
}
else if( Temp != null){
Temp.Login();
CurrentUser = Temp;
promptApplicationChoices();
} else {
System.out.print("--- Toegang geweigerd! ---");
TestApplication.promptChoices();
}
}
Code:
public void CreateUser(){
Newbiedata = Application.askUser();
Newbie = new User(Newbiedata,Newbiedata,this.getApplication());
this.getApplication().Users.voegVooraanToe(Newbie);
System.out.println("--- User " + Newbiedata + " werd gecreeërd. ---");
Application.promptAdministratorApplicationChoices();
}
Code:
public void voegVooraanToe(Object obj) {
if (isLeeg()) {
eersteNode = new LijstNode(obj);
laatsteNode = eersteNode;
} else {
eersteNode = new LijstNode(obj, eersteNode);
}
}




