Avatar billede chr.kj Nybegynder
25. december 2007 - 21:30 Der er 4 kommentarer og
1 løsning

Problem med simpel login.

Hej.

Jeg har efterhånden brugt et par dage på at se om jeg ikke kunne se hvad jeg havde lavet galt, men jeg har nok stirret mig blindt på det.

Det er et meget simpelt login jeg vil lave hvor man bliver logget ind hvis ens password er korrekt. Der er ingen brugernavne eller flere brugere.. Kun en, men denne skal kunne rette sit password hvis han eller hun ønsker det.

Det jeg har laver ser sådan ud:

I min password klasse har jeg:

public class Password implements Serializable {
     
    private String password = "";
   
    /** Creates a new instance of Password */
    public Password() {
    }   

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
   
    public String toString() {
        return password;
    }
}

I min PasswordList klasse har jeg:

public class PasswordList implements Serializable {
   
    private ArrayList<Password> passwords = new ArrayList<Password>();
   
    /** Creates a new instance of PasswordList */
    public PasswordList() {
    }
   
    public void addPassword( Password password ) {
        getPasswords().add( password );   
    }
   
    public Password hentPassword( String password ) {
        System.out.println("finder password " + password );       
        for( Password elem : passwords ) {           
            if (elem.getPassword().equals( password ) ) {                       
                System.out.println("fandt password '" + elem + "'");
                new RetVare().setVisible(true);
                //return elem;
                }
            }
            System.out.println("Forkert password");
            return null;
        }

Her er min ArrayList og her har jeg lavet metoden som validerer om passwordet er korrekt.

I min GUI har jeg følgende kode til at kunne rette mit password:

private PasswordList passwords = new PasswordList();

    private void jButtonGemPasswordActionPerformed(java.awt.event.ActionEvent evt) {                                                 
// TODO add your handling code here:       
        Password password = new Password();
       
        password.setPassword( jTextFieldRetPassword.getText() );
       
        passwords.addPassword(password);
       
        System.out.println( "Password er nu: " + passwords.getPasswords().toArray() );
       
        try
        {
            GemOgHent save = new GemOgHent();
            save.gemPass( password, "pass.dat" );
           
            JOptionPane.showMessageDialog(null, "Dit password er rettet" );
           
        }
        catch( Exception error )
        {
            jTextFieldOplysningsFelt.setText( "Dit ny password kunne ikke gemmes. " + error.toString() );
        }     
       
    } 

I min IndtastPassword GUI har jeg denne kode til at indlæse min serialiseret "password fil" og herefter sammenligner om passwordet i min ArrayList er ens med det der er indtastet:

private PasswordList passwords = new PasswordList();;

    private void jButtonSendPassActionPerformed(java.awt.event.ActionEvent evt) {                                               
// TODO add your handling code here:
       
        try
        {
            GemOgHent get = new GemOgHent();
            passwords = (PasswordList) get.hentPass( "pass.dat" );           
           
        }
        catch( Exception error )
        {
            JOptionPane.showMessageDialog(null, "Passwordlisten kunne desværre ikke indlæses!" );
        } 

Password password = (Password) passwords.hentPassword(jTextField1.getText() ); 
        System.out.println( passwords + "" + password );
}

Jeg kan simpelthen ikke se hvor je ghar lavet fejlen og håber derfor at der er en eller flere der kan hjælpe mig. Gerne med uddybende svar / forklaring.

På forhånd tak og god jul :o)
Avatar billede arne_v Ekspert
25. december 2007 - 21:39 #1
Hvad er fejlen ?
Avatar billede arne_v Ekspert
25. december 2007 - 21:40 #2
Exception ? Forkert opførsel ?
Avatar billede chr.kj Nybegynder
25. december 2007 - 21:49 #3
Hej arne_v

Der kommer ingen fejl udover at den ikke vil godkende mit password.

Hvis jeg indtaster test som password og skriver der igen i min GUI får jeg besked om at passwordet er forkert.

Jeg har forsøgt at udkrive elementerne i min ArrayList og det er egentlig lidt underligt for her skriver den som om at jeg ikke har et toString, men den er jo defineret i min Password klasse.
Avatar billede chr.kj Nybegynder
26. december 2007 - 15:42 #4
Andre måder at lave det på modtages gerne :o)
Avatar billede chr.kj Nybegynder
26. december 2007 - 17:30 #5
Fik det til at virke, ved at slette det hele og oprette nye klasser..

Tror jeg javde fået blandet for meget sammen, men nu virker det :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

BEC Financial Technologies

Junior business analyst - Talent Program DK

Netcompany A/S

IT Manager

BEC Financial Technologies

Business analyst (Senior)- Scoutz

Capgemini Danmark A/S

IGNITE Graduate Program 2026

Frode Laursen A/S

Systemadministrator