Java用户名和密码从数组登录

时间:2013-11-01 11:49:43

标签: java arrays login

确定。我正在制作一个用于计算机管理的软件。允许人们登录并执行操作取决于他们的许可。到目前为止我所拥有的是一个包含用户名,密码和许可的所有用户的阵列系统。我想要做的是从一个java swing窗口(我已经编程)和比较该窗口中的用户名和密码到所有数组并检查匹配。任何帮助将不胜感激。谢谢。我的代码:

public class Main {
public static void main(String[]args){
    WindowLogin.openWindow();
}
}

public class Database {
public static String[] userAdmin = {"admin","admin","10"}; //Username password clearance
public static String[] userAlexander = {"Alexander","1234","1"}; //Same stuff here
}


import javax.swing.*;

import java.awt.*;

public class WindowLogin {
public static void openWindow(){
    JFrame f = new JFrame("Login");
    JTextField userName = new JTextField(20);
    JPasswordField password = new JPasswordField();
    JPanel info = new JPanel(new GridLayout(2,1,5,5));
    JPanel lnPanel = new JPanel(new GridLayout(1,1,5,5));
    JButton lnButton = new JButton("Log in");
    info.add(userName);
    info.add(password);
    lnPanel.add(lnButton);
    f.setLayout(new FlowLayout());
    f.setResizable(false);
    f.add(info);
    f.add(lnPanel);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.pack();
    f.setVisible(true);
}
}

2 个答案:

答案 0 :(得分:1)

这就是你如何实现这一目标的。

String inputUserName = userName.getText();  //assign the user's input username
String inputPassword = password.getText();  //assign the user's input password

if(inputUserName.equals(userAdmin[0]) && inputPassword.equals(userAdmin[1])){
     System.out.println("Welcome Admin!");
}else if(inputUserName.equals(userAlexander [0]) && inputPassword.equals(userAlexander[1])){
     System.out.println("Welcome Alexander!");
}else{
     System.out.println("Unauthorized access");
}

另外,建议您创建用户类型以捆绑用户相关信息,而不是使用数组。

答案 1 :(得分:1)

首先,创建对象用户

class User{
String username;
String password;
boolean isAdmin;

public User(String username, String password,boolean isAdmin){
this.username=username;
this.password=password;
this.isAdmin=isAdmin;
}
//setters and getters;
}

第二,将您的用户放在列表中,但放在地图Map<String,User> userMap中,其中key将是用户名,因此当sb将登录到系统时,

public int logIn(String username, String password)
{
User user = userMap.get(username);
if (user==null
{
//No User with given username, return error code 1;
return 1;
}

if (password==user.getPassword().equals(password))
{
//password correct, error code - no error
return 0;

}
//password incorrect return error code 2
return 2

}

现在我们所需要的只是初始化database

class Database {
Map<String,User> userMap = new HashMap();

{
User admin = new User("admin","admin",true);
User alex= new User("Alexander","1234",false);
userMap.put(admin.getName(),admin);
userMap.put(alex.getName(),alex);
}
}