我想向我的销售点的用户授予特权,但我不知道如何做,有什么建议吗?

2024-04-20

我有一个问题,我有一个用netBeans制作的销售点系统,2个用户可以在我的系统中注册:“管理员”和“供应商”,系统中有几个模块,包括“Inventario”模块允许您在数据库中输入、修改、删除和搜索文章,问题是我希望只有管理员有权限进入该模块,而卖家无法访问它。

我有一个想法,就是在“Inventario”按钮方法中放入这样的代码来禁止它进入,但这对我来说不起作用,代码是这样的:

//"usu" is the object of the "Login" class, which is where I declare the sets and gets of the user information, and "admin" is the name that is assigned to someone in the "tipoUsuario" variable when you register them as admin 
    String tUsuario=usu.getTipoUsuario();

   
    if(tUsuario.equals("admin"))
    {
    LimpiarTable();
    ListarArticulo();
    jTabbedPane1.setSelectedIndex(1);
    }

问题是代码不起作用,当打印“getTipoUsuario”所取的值时,它告诉我它返回值“null”。 我知道代码可能是错误的并且不起作用,因为我是编程新手。 尝试下面的另一个代码,尝试通过“id_usuario”变量获取“tipoUsuario”变量的值,代码如下:

//"login" is the class where I have all the information of the users, the sets and gets, "usuarios" is the object of another class called "loginDAO" in which I have the method "ListarUsuarios()"

List<login> ListarUsuario = usuarios.ListarUsuarios();
   modelo = (DefaultTableModel) tablaUsuarios.getModel();
    Object [] ob = new Object[4];
    for(int i=0; i < ListarUsuario.size();i++){
        ob[0] = ListarUsuario.get(i).getId_usuario();
        ob[1] = ListarUsuario.get(i).getTipoUsuario();
        ob[2] = ListarUsuario.get(i).getNombre();
        //ob[3] = ListarUsuario.get(i).getApellido_paterno();
        //ob[4] = ListarUsuario.get(i).getApellido_materno();
        ob[3] = ListarUsuario.get(i).getContrasena();
        modelo.addRow(ob);
    }
        int tID  = usu.getId_usuario();
    String tUsuario = ListarUsuario.get(tID).getTipoUsuario();//usu.getTipoUsuario();
   
    if(tUsuario.equals("admin"))
    {
    LimpiarTable();
    ListarArticulo();
    jTabbedPane1.setSelectedIndex(1);
    }

前面代码的问题是,当我将 print 赋予“tUsuario”的值时,它总是给我列表中第一个的 typeUser,而不是其他的。

下面我留下了另一个名为“LoginDAO”的类中的“ListarUsuarios”方法的代码:

public List ListarUsuarios(){
    List<login> ListaUsuarios = new ArrayList();
    String sql = "SELECT * FROM usuarios";
    try{
        con = cn.getConnection();
        ps = con.prepareStatement(sql);
        rs=ps.executeQuery();
        while(rs.next()){
            login ld = new login();
            ld.setId_usuario(rs.getInt("id_usuario"));
            ld.setTipoUsuario(rs.getString("tipoUsuario"));
            ld.setNombre(rs.getString("nombre"));
            //ld.setApellido_paterno(rs.getString("apellido_paterno"));
            //ld.setApellido_materno(rs.getString("apellido_materno"));
            ld.setContrasena(rs.getString("contrasena"));
            ListaUsuarios.add(ld);
        }
    }catch(SQLException e){
        System.out.println(e.toString());
    }
    return ListaUsuarios;
}

最后,我给您留下“登录”类的代码,这是每个用户信息的集合和获取所在的位置:

package Modelo;
//Constructor para varibles del Usario con getters y seters
public class login {
private int id_usuario;
private String nombre;
private String apellido_paterno;
private String apellido_materno;
private String tipoUsuario;
private String contrasena;
private String correo;
private int id_proveedor;
private String nombre_proveedor;
private String telefono_proveedor;
private String direccion_proveedor;
private String domicilio_proveedor;
private String email_proveedor;

public login() {
}

public String getDomicilio_proveedor() {
    return domicilio_proveedor;
}

public void setDomicilio_proveedor(String domicilio_proveedor) {
    this.domicilio_proveedor = domicilio_proveedor;
}

public login(int id_usuario, String nombre, String contrasena, String tipoUsuario, int id_proveedor,String nombre_proveedor,String telefono_proveedor,String direccion_proveedor,String email_proveedor) {
    this.id_usuario = id_usuario;
    this.nombre = nombre;
    this.contrasena = contrasena;
    this.apellido_paterno = apellido_paterno;
    this.apellido_materno = apellido_materno;
    this.tipoUsuario = tipoUsuario;
    this.correo = correo;
    this.id_proveedor = id_proveedor;
    this.nombre_proveedor = nombre_proveedor;
    this.telefono_proveedor = telefono_proveedor;
    this.direccion_proveedor = direccion_proveedor;
    this.email_proveedor = email_proveedor;
}

public int getId_proveedor() {
    return id_proveedor;
}

public void setId_proveedor(int id_proveedor) {
    this.id_proveedor = id_proveedor;
}



public String getNombre_proveedor() {
    return nombre_proveedor;
}

public void setNombre_proveedor(String nombre_proveedor) {
    this.nombre_proveedor = nombre_proveedor;
}

public String getTelefono_proveedor() {
    return telefono_proveedor;
}

public void setTelefono_proveedor(String telefono_proveedor) {
    this.telefono_proveedor = telefono_proveedor;
}

public String getDireccion_proveedor() {
    return direccion_proveedor;
}

public void setDireccion_proveedor(String direccion_proveedor) {
    this.direccion_proveedor = direccion_proveedor;
}

public String getEmail_proveedor() {
    return email_proveedor;
}

public void setEmail_proveedor(String email_proveedor) {
    this.email_proveedor = email_proveedor;
}

public int getId_usuario() {
    return id_usuario;
}

public String getApellido_paterno() {
    return apellido_paterno;
}

public void setApellido_paterno(String apellido_paterno) {
    this.apellido_paterno = apellido_paterno;
}

public String getApellido_materno() {
    return apellido_materno;
}

public void setApellido_materno(String apellido_materno) {
    this.apellido_materno = apellido_materno;
}

public String getTipoUsuario() {
    return tipoUsuario;
}

public void setTipoUsuario(String tipoUsuario) {
    this.tipoUsuario = tipoUsuario;
}

public String getCorreo() {
    return correo;
}

public void setCorreo(String correo) {
    this.correo = correo;
}

public void setId_usuario(int id_usuario) {
    this.id_usuario = id_usuario;
}

public String getNombre() {
    return nombre;
}

public void setNombre(String nombre) {
    this.nombre = nombre;
}

public String getContrasena() {
    return contrasena;
}

public void setContrasena(String contrasena) {
    this.contrasena = contrasena;
}

}

您能告诉我为什么我的代码不起作用或者为什么变量“tUsuario”返回“null”吗?或者,如果您发现我的方法是错误的,您能给我留下一个有效的方法吗?

非常感谢您,祝您下午愉快!

尝试用“if”来解决,并检索“tipoUsuario”的值,将其与“admin”的字符串进行比较,这是当用户是管理员时采用“tipoUsuarios”的值


您的全局变量是“私有”tipoUsuario 访问权限。使用私有方法“设置”它。检查全局变量上的所有其他设置方法并更正它们。

private void setTipoUsuar(String tipousuario) {
    this.tipoUsuario = tipousuario;
}


public void setTipoUsuario(String tipousuario) {
  setTipoUsuar(tipousuario);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我想向我的销售点的用户授予特权,但我不知道如何做,有什么建议吗? 的相关文章

  • null != Something 和 Something != null 之间的区别

    之间有区别吗null something and something null在爪哇 如果有区别 那么我应该使用哪一个 为什么 之间没有区别null something and something null 你一定在想person getN
  • 用户反馈系统的正确数据库模型(一个有趣的案例)

    我正在使用 PHP 和 Yii Framework 开发一个应用程序 我一直在考虑最适合给定功能的数据库结构 这就是我的想法 但我并不是 100 肯定应该这样做 因此我决定询问社区 应用程序说明 注册用户可以参加活动 每个事件都可以有一个
  • 按钮和窗口之间的空间

    我这里有这段代码 其想法是在主窗口中在文本区域旁边有两个按钮 但我尚未添加 在尝试使用 GridBagLayout 并在此过程中扯掉我的头发后 我决定不使用布局并在不可调整大小的窗口内手动放置按钮 import java awt impor
  • 良好的客户端套接字池

    我需要管理从我的 Java 应用程序到外部服务器的长时间运行的 TCP 套接字连接 我正在寻找一个好的套接字池 这样我就可以重复使用套接字 有什么建议吗 你可以看看在上面建立一个套接字池公共池 http commons apache org
  • “赠送”应用内购买 Android

    有没有办法将 Google Billing 中的应用内购买 赠送 给特定帐户 我把这个问题放在这里是因为如果有一种方法可以以编程方式完成它 那很好 但不是必须的 在官方文档中找不到任何相关内容 我想要这个的原因是因为我的一个应用程序目前处于
  • 使用 Flask 时在 Python 中实现持久数据库连接的最佳实践

    我的问题是关于在生产环境或其他关注性能的环境中使用 Flask 时处理数据库连接的推荐方法 在 Flask 中 g 对象可用于存储内容 并且可以将打开的数据库连接放置在那里 以允许应用程序在同一请求期间的后续数据库查询中重用它们 但是 g
  • 将泛型与 Firebase snapshot.getValue() 结合使用的最佳实践

    TL DR 如何正确使用 Firebase DataSnapshot getValue 的泛型类 用例 我想使用 Firebase 为我的所有实体 其中一堆 实现一个通用远程数据源类 当监听数据更改时 我想从 datasnapshot 获取
  • 将两个表视图绑定在一起,以便它们同步滚动

    我想将两个表视图绑定在一起 以便它们同步滚动 我怎么做 我无法找到如何访问表格视图的滚动条 我做了一个CSS hack来将Tableview与外部滚动条绑定 一个滚动条控制两个表格视图 我的想法的概述 创建两个表视图 制作一个垂直滚动条 在
  • 将 uiautomator 测试用例与 Android 中的应用程序代码集成

    我正在使用 Eclipse IDE 这是我的 uiautomator 测试用例代码 public class caltest extends UiAutomatorTestCase public void testDemo throws U
  • Struts 2 - 使用 CKEditor 拦截上传的图像文件

    我有一个CKEditor在网站的不同页面上 所以我将上传内容设置为true以及让它工作的所有配置内容 并且图像上传工作得很好 Send it to the Server 标签 但从这里我想拦截或互动upload函数能够将图像上传到文件夹中
  • 如何以编程方式使用 TestNG 运行 Selenium Java 测试?

    我使用 Selenium RC 和 Java 使用 TestNG 作为测试框架 我使用 Eclipse 作为 IDE 我想非常轻松地从我自己的程序中调用 TestNG 我怎样才能做到这一点 我的以下 Java 代码运行良好 Test pub
  • 如何在 spring-boot 中禁用 spring-data-mongodb 自动配置

    有没有人尝试过在 spring boot 中禁用 mongodb 的自动配置 我正在尝试使用 spring data mongodb 来启动 spring boot 使用基于java的配置 使用 spring boot 1 2 1 RELE
  • 无法使用 MinGW C++ 在 NetBeans IDE 7.3 中编译“Hello World”

    我正在尝试制作一个简单的 Hello World 在 NetBeans IDE 7 3 中使用 MinGW 作为我的 C 编译器来编写程序 我遇到了构建失败的情况 但我不知道为什么 这是我的编译器设置 Family MinGW 基本目录 C
  • 为什么这个 SimpleDateFormat 无法解析这个日期字符串?

    简单日期格式 SimpleDateFormat pdf new SimpleDateFormat MM dd yyyy hh mm ss SSSaa 抛出的异常pdf parse Mar 30 2010 5 27 40 140PM java
  • 如何在运行时更改 JList 的单元格图标

    如何更改仅一个 JList 单元格的 JLabel 图标 例如 在 JList 中单击 我尝试访问使用 listCellRender 获取的 JLabel 但它不起作用 Override public void valueChanged L
  • ORA-01438: 值大于此列允许的指定精度

    有时我们会从合作伙伴的数据库中收到以下错误 i ORA 01438 value larger than specified precision allows for this column i 完整响应如下所示
  • 如何使用正则表达式提取子字符串

    我有一个字符串 其中有两个单引号 特点 单引号之间是我想要的数据 如何编写正则表达式从以下文本中提取 我想要的数据 mydata some string with the data i want inside 假设您想要单引号之间的部分 请
  • 如何在android中格式化长整型以始终显示两位数

    我有一个倒计时器 显示从 60 到 0 的秒数 1 分钟倒计时器 当它达到 1 位数字 例如 9 8 7 时 它显示 9 而不是 09 我尝试使用String format B 02d B x 我将 x 从 long 转换为字符串 它不起作
  • 错误:升级到 lombok 1.16.2 后包 javax.annotation 不存在

    我的 android 项目使用 lombok 1 16 0 构建得很好 但是一旦我将依赖项更改为目标 1 16 2 我在使用 lombok 注释的任何地方都会收到以下错误 Error 20 1 error package javax ann
  • 在文件中查找一行并将其删除

    我正在寻找一个小代码片段 它将在文件中找到一行并删除该行 不是内容而是行 但找不到 例如 我在以下文件中 我的文件 txt aaa bbb ccc ddd 需要有这样的功能 public void removeLine String lin

随机推荐