检查数据库的用户名和密码后如何从数据库中获取用户角色

时间:2019-04-06 16:13:35

标签: java sqlite javafx

我有一个基本的登录功能,如果用户在输入用户名和密码后单击登录按钮,它将从数据库中获取并检查用户名和密码是否正确并将其显示在admin jframe中,但是我想要根据用户类型显示jframe。例如。管理员,获取管理员Jframe,客户获取客户jframe。在这种情况下,Admin = 1,customer = 2,依此类推,那么如何从数据库中检查userRole并显示其各自的jframe?

我已经尝试查找有关操作方法的教程,但是我发现的只是基本教程,不涉及获取userType / Role

public boolean isLogin(String user, String pass) throws Exception{
        PreparedStatement pr = null;
        ResultSet rs = null;

        String sql = "SELECT * FROM Login where username = ? and password = ?";

        try{
            pr = this.connection.prepareStatement(sql);
            pr.setString(1, user);
            pr.setString(2, pass);

            rs = pr.executeQuery();

             if(rs.next()){
             return true;   
            }
            return false;
        }
        catch(SQLException ex){
            return false;
        }

        finally{
                pr.close();
                rs.close();
        }

    }

登录控制器

@FXML
    public void Login (ActionEvent event){
        try{

            if(this.loginModel.isLogin(this.username.getText(), this.password.getText())){


                Stage stage = (Stage) this.login.getScene().getWindow();
                stage.close();

                adminLogin();

            }
             else{
                this.loginStatus.setText("The username or password entered is incorrect. Please check and try again.");
            }
        }           
        catch(Exception localException){

        }
    }

1 个答案:

答案 0 :(得分:0)

我在应用程序中处理用户授权的方式:

  • 在数据库中为用户创建表,名称授权的类型为 int()
  • 为用户设置授权值,从0(或1)开始,每个设置为+1 您要添加的授权(分析仪,管理员等)。
  • 在登录时获取验证数据(检查给定的名称和密码) 是正确的),也获得其授权。
  • 将当前用户存储在本地。
  • 基于验证,您可以重定向到相应的阶段(窗口)或 只需检查用户是否具有必要的授权,即可使您应用中的“选项”可用。
  • 在用户管理窗口中,在编辑或添加新用户时,设置 选择授权的选项。

希望它对您有帮助!