如何跟踪程序中当前用户的用户名?

问题描述 投票:-1回答:1

我正在一个学校项目中,该项目正在用Java进行编码并与My SQL数据库进行交互。

我已经进入登录屏幕,以确定用户名和密码是否正确,如果正确,请移至主屏幕。我现在想做的是跟踪已登录的用户,以便我可以在其他类中引用它。我创建了一个由以下内容组成的currentUser类。

public class CurrentUser {
  public String loggedInUser; 

  CurrentUser(String user){
      this.loggedInUser = user;
}


  public String getCurrentUser(){
      return this.loggedInUser;
} 

  public void setCurrentUser(String user){
     this.loggedInUser = user;
}   
 }

在我的登录应用程序中,在确认用户名和密码后的区域中,我输入了以下内容。

void handleLogIn(javafx.scene.input.MouseEvent event) throws IOException, SQLException {

// verify login and send to main screen
String userName = username.getText();   
String passWord = password.getText();

boolean notFound = true;
Statement stmt = conn.createStatement();
String sqlExecute = "SELECT * FROM user WHERE userName = " + "'" + userName + "'" + " AND password=" + "'" + passWord + "'";
Query.makeQuery(sqlExecute);
ResultSet result = Query.getResult();
while (result.next() && notFound){

    //System.out.print(result.getString("userName"));
    //System.out.print(result.getString("password")); 
    if (userName.equals(result.getString("userName")) && passWord.equals(result.getString("password"))){
        notFound = false; 
        Parent root = FXMLLoader.load(getClass().getResource("mainmenu.fxml"));
        scene = new Scene(root);
        stage.setScene(scene);
        stage.show();
        currentUser current = new currentUser("userName");
    }

}

userName是指包含刚刚被确认的userName的变量。我收到错误消息“ currentUser在currentUser中不公开”。我该如何解决这个问题?正确方向或资源的任何观点将非常有帮助!

java authentication
1个回答
1
投票

我认为问题是您的构造函数。也许尝试将构造函数设置为public:

    public CurrentUser(String user){
      this.loggedInUser = user;
    }
© www.soinside.com 2019 - 2024. All rights reserved.