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

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(使用前将#替换为@)

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

  • Java 创建浮雕(红/蓝图像)

    我正在编写一个 Java 游戏引擎 http victoryengine org http victoryengine org 并且我一直在尝试生成具有深度的 3D 图像 您可以使用那些红色 蓝色眼镜看到 我正在使用 Java2D 进行图形
  • 如何在数据库中存储年月?

    是否有在数据库中存储年份和月份的标准方法 我需要根据月份和年份制作一些报告 我无法使用日期和函数实时提取月份 因为表很大 所以我需要预处理 我会和 Michael 的建议是什么 https stackoverflow com a 81694
  • Java 泛型/类型调度问题

    考虑以下程序 import java util List import java util ArrayList public class TypeTest public static class TypeTestA extends Type
  • Google Inbox 类似 RecyclerView 项目打开动画

    目前 我正在尝试实现 Google Inbox 例如RecyclerView行为 我对电子邮件打开动画很好奇 我的问题是 该怎么做 我的意思是 他们使用了哪种方法 他们用过吗ItemAnimator dispatchChangeStarti
  • Java 重写 hashCode() 得到 StackOverflowError

    所以我不太熟悉重写 hashCode 并且我似乎在 hashCode 方法中以某种方式进行了一些无限递归 这是我的场景 我有一个 DuplicateCache 类 它是一个缓存对象 用于检查系统中的重复对象 我有一个静态内部类 Duplic
  • JavaFX - setVisible 隐藏元素但不重新排列相邻节点

    在 JavaFX 中 如果我有一个场景有 2VBox元素和每个VBox有多个Label in it 如果我设置顶部VBox to 无形的 为什么底部VBox 不向上移动顶部的场景VBox was The VBox is 无形的但我希望其他物
  • Java 变量的作用域

    我不明白为什么这段代码的输出是10 package uno public class A int x 10 A int x 12 new B public static void main String args int x 11 new
  • spring - 强制 @Autowired 字段的 cglib 代理

    我有混合堆栈 EJB 和 Spring 为了将 Spring 自动装配到 EJB 我使用SpringBeanAutowiringInterceptor 不确定这是否会影响我遇到的问题 在尝试通过以下方式自动装配 bean 时 Scope p
  • Java替换特定字符

    这是我在这个网站上的第一个问题 所以我会尽量不要成为一个十足的菜鸟 我目前正在用java 创建刽子手游戏 所以我问你的问题是我们是否被赋予了 幽灵 这个词 并将 Ghost 替换为 hiddenWord ghost length for i
  • cucumber-junit-platform-engine 中的功能文件发现

    In cucumber junit我使用的库 CucumberOptions定义功能文件位置 package com mycompany cucumber import cucumber api CucumberOptions import
  • 使用 Guava 联合两个 ImmutableEnumSets

    我想联合两个ImmutableEnumSets来自番石榴 这是我的尝试 public final class OurColors public enum Colors RED GREEN BLUE YELLOW PINK BLACK pub
  • 参数动态时如何构建 JPQL 查询?

    我想知道是否有一个好的解决方案来构建基于过滤器的 JPQL 查询 我的查询太 富有表现力 我无法使用 Criteria 就像是 query Select from Ent if parameter null query WHERE fiel
  • tomcat 过滤所有 web 应用程序

    问题 我想对所有网络应用程序进行过滤 我创建了一个过滤器来监视对 apache tomcat 服务器的请求 举例来说 它称为 MyFilter 我在 netbeans 中创建了它 它创建了 2 个独立的目录 webpages contain
  • Apache Commons CLI:替代已弃用的 OptionBuilder?

    IntelliJ 显示此示例代码中不推荐使用 OptionBuilderhttp commons apache org proper commons cli usage html http commons apache org proper
  • 在 AKKA 中,对主管调用 shutdown 是否会停止其监督的所有参与者?

    假设我有一位主管连接了 2 位演员 当我的应用程序关闭时 我想优雅地关闭这些参与者 调用supervisor shutdown 是否会停止所有参与者 还是我仍然需要手动停止我的参与者 gracias 阻止主管 https github co
  • 如何在android sdk上使用PowerMock

    我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • 从一个文本文件中获取数据并将其移动到新的文本文件

    我有一个文件 里面有数据 在我的主要方法中 我读入文件并关闭文件 我调用另一种方法 在原始文件的同一文件夹内创建一个新文件 所以现在我有两个文件 原始文件和通过我调用的方法生成的文件 我需要另一种方法 从原始文件中获取数据并将其写入创建的新
  • Java中有类似分支/跳转表的东西吗?

    Java有类似分支表或跳转表的东西吗 分支表或跳转表是 根据维基百科 http en wikipedia org wiki Branch table 用于描述使用分支指令表将程序控制 分支 转移到程序的另一部分 或可能已动态加载的不同程序
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐