Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more. :: Mappa del sito
Tutorials & Scripts, PHP, Linux and more.

Home :: Java :: Indice Java

Protezione con password in Java

Inserito il: 21-03-2007


Java consente di cotruire facilmente un'interfaccia per l'autenticazione basata sull'inserimento di una parola chiave. In questo articolo creeremo un'applicazione piuttosto semplice il cui scopo è quello di presentare all'utente un modulo all'interno del quale inserire la password celata tra le righe del codice compilato.

Il programma prevede due tipologie di output: nel primo caso l'autenticazione positiva mostrerà una finestrella di notifica con la scritta 'Password corretta.', avremo invece 'Password non valida.' nel caso di login non andato a buon fine.

Ecco il codice dell'applicazione, la password corretta è 'Java':
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SecurityKey extends JPanel
    
  implements ActionListener {
  private static String pass = "Convalida";
  
  private JFrame controllingFrame; 
  private JPasswordField campoPass;
 public SecurityKey(JFrame f) {
  controllingFrame = f;
 campoPass = new JPasswordField(8);
  campoPass.setActionCommand(pass);
  campoPass.addActionListener(this);
 JLabel label = new JLabel("Inserisci la password: ");
  label.setLabelFor(campoPass);
 JComponent buttonPane = createButtonPanel();
 JPanel textPane = new JPanel(new FlowLayout(FlowLayout.TRAILING));
  textPane.add(label);
  textPane.add(campoPass);
 add(textPane);
  add(buttonPane);
  }
 protected JComponent createButtonPanel() {
  JPanel p = new JPanel(new GridLayout(0,1));
  JButton keyButton = new JButton("Ivia");
  
  keyButton.setActionCommand(pass);
  keyButton.addActionListener(this);
  
  p.add(keyButton);
  return p;
  }
 public void actionPerformed(ActionEvent e) {
  String cmd = e.getActionCommand();
 if (pass.equals(cmd)) { 
  char[] input = campoPass.getPassword();
  if (controlloPass(input)) {
  JOptionPane.showMessageDialog(controllingFrame,
"Password corretta.");
  } else {
  JOptionPane.showMessageDialog(controllingFrame,
"Password non valida.",
"Errore",
  JOptionPane.ERROR_MESSAGE);
  }
 for (int j = 0; j < input.length; j++) {
  input[j] = 0;
  }
 campoPass.selectAll();
  resetFocus();
  } 
  }
 private static boolean controlloPass(char[] input) {
  boolean Ctrl = true;
  char[] Password = { 'j', 'a', 'v', 'a' };
 if (input.length != Password.length) {
  Ctrl = false;
  } else {
  for (int j = 0; j < input.length; j++) {
  if (input[j] != Password[j]) {
  Ctrl = false;
  }
  }
  }
 
  for (int j = 0; j < Password.length; j++) {
  Password[j] = 0;
  }
 return Ctrl;
  }
 protected void resetFocus() {
  campoPass.requestFocusInWindow();
  }
 
  private static void interfaccia() {
  
  JFrame frame = new JFrame("SecurityKey");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
  final SecurityKey newContentPane = new SecurityKey(frame);
  newContentPane.setOpaque(true); 
  frame.setContentPane(newContentPane);
 
  frame.addWindowListener(new WindowAdapter() {
  public void windowActivated(WindowEvent e) {
  newContentPane.resetFocus();
  }
  });
 
  frame.pack();
  frame.setVisible(true);
  }
 public static void main(String[] args) {
    
  javax.swing.SwingUtilities.invokeLater(new Runnable() {
  public void run() {
  interfaccia();
   }
  });
 }
}
Con pochi adattamenti, questo programmino potrà essere implementato per autenticare l'accesso degli utenti in software ben più complessi.


Indice Java
Apache (19)
CGI (11)
Jsp (16)
Linux (18)
Manuali (6)
Perl (12)
Php (134)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (0)
Forum



Creare un frame con Java
Può essere interessante sfruttare le potenzialità del Package awt di Java per la creazione di frame. In questo articolo proporremo... Leggi l'articolo


Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti

Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
Ceptive.it
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Visual designer
Forum per Webmaster




Pagina caricata in 9.7990 secondi. | Per informazioni | ©CG di Claudio Garau P.IVA 03219430927 RSS