-3

我已经有一个库存系统,可以访问某个数据库上的某个表。

现在我想创建一个新框架,作为登录表单,然后用户才能进入主库存系统框架。

我希望它访问相同的数据库但不同的表(例如,inventory_system_db 数据库下的 user_table 和 item_table)。

如果用户登录了管理员帐户,那么他可以通过管理员控制(例如编辑、添加、删除)访问库存系统。

当他以普通用户身份登录时,他将能够访问库存系统,但无需管理员控制。

我想知道的事情:

  • 如何创建登录表单?
  • 如何使其进入库存系统?
4

2 回答 2

8

如果你想要一个登录对话框,只需检查下面的代码。

 public class LoginPane extends JDialog implements ActionListener {
  String itsUsername = "";
  String itsPassword = "";
  boolean itsFirst = true;
  boolean itsKeep = false;
  JTextField itsUserField = new JTextField(15);
  JPasswordField itsPassField = new JPasswordField(15);
  JCheckBox itsKeepBox = new JCheckBox("Save details:", false);
  boolean itsInit = false;

  public LoginPane() {
    super();
setTitle("Login");
setModal(true);
getContentPane().setLayout(new GridLayout(3, 2));
getContentPane().add(new JLabel("Username:"));
getContentPane().add(itsUserField);
getContentPane().add(new JLabel("Password"));
getContentPane().add(itsPassField);
getContentPane().add(itsKeepBox);
JButton submit = new JButton("done");
getContentPane().add(submit);
submit.addActionListener(this);
pack();
 }

public String[] getLogin() {
if (!itsKeep && !itsFirst) {
  return null;
}
if (!itsInit) {
  return null;
}
itsFirst = false;
String[] res = new String[2];
res[0] = itsUsername;
res[1] = itsPassword;
if (!itsKeep) {
  itsUsername = "";
  itsPassword = "";
}
return res;
  }

  public void actionPerformed(ActionEvent e) {
itsUsername = itsUserField.getText();
itsPassword = new String(itsPassField.getPassword());
itsKeep = itsKeepBox.isSelected();
itsInit = true;
setVisible(false);
}
}

您可以根据需要为按钮添加操作!

于 2013-02-20T10:43:55.367 回答
0

可以有很多解决方案来解决这个问题,但其中之一是:

  1. 在数据中的用户表中,存储用户的权限。

  2. 登录时,检查权限,如果它是管理员(或任何你称之为 0,授予他添加、删除和任何权限的权利,否则限制他这样做。

  3. 要遵守这一点,您必须检查所有这些权限,以确定用户是否有权执行此任务。

  4. 此外,如果不允许用户执行操作,您可以隐藏添加、删除(如果这些是按钮的形式)。

因此,所有这些都取决于您的应用程序的架构。

于 2013-02-20T10:29:25.827 回答