从java swing中的控制器获取当前登录的用户 [英] Get currently logged in user from controller in java swing

查看:51
本文介绍了从java swing中的控制器获取当前登录的用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从基于 MVC 的 Swing 应用程序中的 Controller.java 中取出当前登录的用户.用户存储在txt文件中(int id, String name, String address, boolean isAdmin)

I am trying to take out currently logged in user from Controller.java in swing application based on MVC. Users are stored in txt file(int id, String name, String address, boolean isAdmin)

控制器中创建了一个方法

There is a method created in controller

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();
        }

    };

我想根据登录的人创建特殊的用户操作:用户或管理员,即.仅为管理员创建新客户.

I want to create special user actions depends on who is logged: user or admin ie. create new customer for admin only.

我不知道如何访问它.非常感谢任何帮助.

I don't know how to access to that. Any help highly appreciated.

在swing中将登录用户存储在mvc中的推荐方法是什么?

What are recommended methods to store logged users in mvc in swing ?

推荐答案

我想根据登录的人创建特殊的用户操作:用户或管理员,即.仅为管理员创建新客户.

我认为 单例模式这个答案 可能会帮助您保持登录用户的全局".然后您可以要求用户的角色(管理员或简单用户)以添加您需要的特殊操作.

I think Singleton pattern as exemplified in this answer might help you to keep the logged in user "global". Then you can ask for user's role (admin or simple user) in order to add the special actions you need.

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

I'd start wrapping all user data in a domain class (a simple POJO) and then implement a SessionManager.

这篇关于从java swing中的控制器获取当前登录的用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆