我已经有了一个库存系统,它可以访问某个数据库上的某个表。
现在,我想创建一个新的框架,在用户可以进入主库存系统框架之前,该框架将用作登录表单。
我希望它访问相同的数据库但不同的表(例如inventory_system_db数据库下的user_table和item_table)。
如果用户登录了管理员帐户,那么他可以使用管理员控制(例如编辑、添加、删除)访问库存系统。
当他以普通用户身份登录时,他将能够访问库存系统,但无需管理员控制。
我想知道的事情:
- 如何创建登录表单
- 如何使其进入库存系统
如果您想要登录对话框,只需检查下面的代码。
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);
}
}
您可以根据需要为按钮添加操作!
可以有很多解决方案来解决这个问题,但其中之一是:
-
在数据中的users表中,存储用户的权限。
-
登录时,检查权限,如果是Admin(或您称之为0的任何名称),则授予他添加、删除和任何权限的权利,否则限制他这样做。
-
要遵守这一点,您必须检查所有这些权限,以确定用户是否有权执行此任务。
-
此外,如果不允许用户执行操作,则可以隐藏"添加"、"删除"(如果这些是按钮形式的)。
因此,所有这些都取决于应用程序的体系结构。