Java 依赖于用户角色的登录
我试图创建的程序将显示或隐藏按钮取决于用户的角色,取决于用户是管理员还是其他人。 所以在本例中,我将字符串从“Login”框架传递到“Menu”框架,如果字符串等于我的需求,它将在“Menu”框架上显示按钮,如果不是,则隐藏按钮。现在,这是使用字符串。但如何做同样的事情,但从数据库中提取角色?我在数据库中有那个字段,但我不知道该怎么做我在数据库中的字段是用户名、密码和角色 谢谢 登录框Java 依赖于用户角色的登录,java,database,swing,Java,Database,Swing,我试图创建的程序将显示或隐藏按钮取决于用户的角色,取决于用户是管理员还是其他人。 所以在本例中,我将字符串从“Login”框架传递到“Menu”框架,如果字符串等于我的需求,它将在“Menu”框架上显示按钮,如果不是,则隐藏按钮。现在,这是使用字符串。但如何做同样的事情,但从数据库中提取角色?我在数据库中有那个字段,但我不知道该怎么做我在数据库中的字段是用户名、密码和角色 谢谢 登录框 JButton btnLogin = new JButton("Login !"); btnLogin
JButton btnLogin = new JButton("Login !");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String username = textUsername.getText();
String password = passwordField.getText();
String S = "Administrator";
String query = "SELECT * FROM ADMINISTRATION where username=? and password=?;";
PreparedStatement stmt = connection.prepareStatement(query);
stmt.setString(1, username);
stmt.setString(2, password);
ResultSet set=stmt.executeQuery();
if (set.next()) {
Menu menu = new Menu();
menu.setVisible(true);
setVisible(false);
menu.Proba(S);
stmt.close();
connection.close();
}
else {
JOptionPane.showMessageDialog(contentPane, "Pogrešno korisničko ime ili lozinka !", "Greška !", JOptionPane.ERROR_MESSAGE);
}
} catch (Exception e2) {
// TODO: handle exception
}
}
});
菜单框
public void Proba(String S) {
if (S.equals("Administrator")) {
btnOption.setVisible(true);
}
else {
btnOption.setVisible(false);
}
}
好吧,我假设这是一个学术项目 因此,您有一个ResultSet,并且您正在对它进行迭代,当您调用“next”方法时,您将移动到下一行(在本例中是第一行) 现在您有了一行,需要调用一个从列中检索字符串值的方法(在本例中为角色),请查看文档: 您有一个需要列名的“getString”方法,它将从该列返回字符串valuo 例如:
if (set.next()) {
String role = set.getString("role");
Menu menu = new Menu();
menu.setVisible(true);
setVisible(false);
menu.Proba(role);
stmt.close();
connection.close();
}
如果这是一个真正的项目代码和密码没有加密,那么你应该从那里开始…它的学术用途,我写的学校项目。。。不适用于广泛使用,所以安全性不取决于我的目标,我只是想显示或隐藏按钮,取决于数据库中提供给用户的角色,就是这样,我一直都在使用该解决方案。。。但是总是做错事,谢谢