2014-08-27 128 views
1

我想从基于MVC的swing应用程序中的Controller.java中取出当前登录的用户。用户存储在TXT文件(INT ID,字符串名称,字符串地址,布尔isAdmin)获取当前在java swing中从控制器登录的用户

有一个在控制器中创建的方法

public void addListeners(){ 

    loginListener=new ActionListener(){ 

     public void actionPerformed(ActionEvent e){ 
      String username=view.getLogin().getLoginUsername().getText(); 
      char[] password = view.getLogin().getLoginPassword().getPassword(); 


      String pass=""; 
      for(int i=0;i<password.length;i++){ 
       pass+=password[i]; 
      } 

      System.out.println("Username "+username+",password "+pass); 
      boolean correctUser=false; 
      boolean admin=false; 
      for(User user : model.getShop().getUsers()){ 
       if(username.equals(user.getUsername()) && pass.equals(user.getPassword())){ 
        correctUser=true; 
        admin=user.isAdmin(); 
        break; 
       } 
      } 
      if(correctUser){ 
       view.changeToMaineMenu(); 
       view.getMainmenu().addTabs(admin); 
      } 
      else 
       System.out.println("Not a valid user"); 


      view.getLogin().getLoginUsername().setText(""); 
      view.getLogin().getLoginPassword().setText(""); 
      viewSuppliers(); 
     } 

    }; 

我要创建特殊的用户操作取决于谁登录:用户或管理员即。仅为管理员创建新客户。

我不知道如何访问。任何帮助高度赞赏。

什么是推荐的方法来存储登录用户在mvc中的挥杆?

回答

2

我想创建特殊的用户操作取决于谁登录:用户或管理员ie。仅为管理员创建新客户。

我觉得Singleton pattern中例this answer可以帮助你保持登录的用户“全局”。然后您可以询问用户的角色(管理员或简单用户)以添加您需要的特殊操作。

我会开始将所有用户数据包装到域类(简单的POJO)中,然后实现SessionManager

相关问题