JNDI(Java Naming Directory Interface)

java安全(四) JNDI JNDI JNDI(Java Naming and Directory Interface)是Java提供的Java 命名和目录接口。通过调用JNDI的API应用程序可以定位资源和其他程序对象。JNDI是Java EE的重要部分,需要注意的是它并不只是包含了DataSource(JDBC 数据源),JNDI可访问的现有的目录及服务有:JDBC、LDAP、RMI、DNS、NIS、CORBA 通俗理解,使用jndi作为数据源而不是直接去连接数据库,将数据库交给jndi去配置管理,jndi通过数据源名称去应用数据 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 命名服务(naming service) 命名服务是计算机系统中的一个基本功能。命名服务是将名字和计算机中的一个对象相关联,通过名字可以方便地找到对应的对象。例如,计算机中的文件系统就包含了一个命名服务,你可以通过文件名找到对应的文件对象。 目录服务(directory service) 目录服务是命名服务的延伸,目录服务不只保存对象和对象名的匹配,而且保存这个对象的各种属性,你可以对这些属性进行查询、修改、增加、删除操作。 JNDI(Java Naming Directory Interface) JNDI是一些标准API接口,Java程序通过这些API可以访问命名目录服务。JNDI的定义不依赖于任何独立的命名目录服务器,对于各种命名目录服务器,都可通过统一的JNDI接口调用。JNDI结构如下: JNDI结构包括两组API:JNDI API(Application Programming Interface)和JNDI SPI(Service Provider Interface)。Java应用程序通过JNDI API访问各种命名目录服务。JNDI SPI使得各种命名目录服务透明地加入到JNDI结构中,如上图中的LDAP、DNS、NIS等服务通过JNDI SPI加入到JNDI结构中,从而使Java应用程序能够通过JNDI API访问这些服务。 JNDI Context Context是一系列命名到对象绑定的集合,Context提供以下主要接口访问命名服务: bind(Name name, Object obj) 建立一个命名到一个对象的匹配关系,也叫绑定 lookup(String name) 通过命名查找其对应的对象 rebind(Name name, Object obj) 重新绑定一个命名到对象,覆盖原来的绑定 unbind(Name name) 解除这个命名到其匹配对象的绑定关系 ... ... Apusic JNDI 应用举例 Apusic Application Server包含一个完全遵循JNDI标准的命名服务器,下面我们举例说明如何通过JNDI接口找到你需要调用的EJB Home接口。 Context ctx = null; try { Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.apusic.jndi.InitialContextFactory"); env.put(Context.PROVIDER_URL, "rmi://localhost:6888"); env.put(Context.SECURITY_PRINCIPAL, null); env.put(Context.SECURITY_CREDENTIALS, null); ctx = new InitialContext(env); } catch (Exception e) { System.err.println("Cannot get initial context: " e); System.exit(1); } AccountHome home = null; try { home = (AccountHome) ctx.lookup("CMAccountHome"); } catch (Exception e) { System.err.println("Cannot lookup CMAccountHome" e); System.exit(1); } 首先,通过Hashtable env传递JNDI调用参数,取得JNDI Context ctx,各参数说明如下: Context.INITIAL_CONTEXT_FACTORY: 指定jndi环境的工厂,在Apusic中必须为 com.apusic.jndi.InitialContextFactory Context.PROVIDER_URL: 指定命名服务提供者的URL,格式为:rmi://localhost:6888 Context.SECURITY_PRINCIPAL: 指定用户身份,null为“匿名用户” Context.SECURITY_CREDENTIALS: 指定用户密码,同上 然后,通过JNDI Context ctx 的lookup方法找到"CMAccountHome"绑定的CMAccountBean的Home接口。
【Java代码审计】JNDI注入篇 JNDI (Java Naming and Directory Interface )是 Java 提供的 Java 命名和目录接口。通过调用 JNDI 的 API 可以定位资源和其他程序对象。JNDI 是 Java EE 的重要部分,JNDI 可访问的现有的目录及服务有:JDBC、LDAP、RMI、DNS、NIS、CORBA为了在命名服务或目录服务中绑定 Java 对象,可以使用 Java 序列化来传输对象,但有时候不太合适,比如 Java 对象较大的情况。 阅读详情

相关推荐

手把手教你用Qt5打造二次元游戏启动器(附鸣潮同款UI源码)

本文详细介绍了如何使用Qt5框架从零开始构建一个功能完整、UI风格贴近《鸣潮》的二次元游戏启动器。教程涵盖无边框窗口、动态背景、自定义控件绘制、多线程资源加载以及下载管理等核心模块的实现,并提供了可运行的源码参考,帮助C++开发者和Qt爱好者深入掌握现代桌面应用开发技术。

weixin_29291863的博客 266

JNDI注入学习(看不懂直接喷,别忍着!)

JNDI注入学习(看不懂直接喷,别忍着!)

一剑开天门!的博客 3731

别再只懂开关了!深入FusionCloud 6.1存储防脑裂:SCSI-3锁的挑战模式与实战命令全解析

本文深入解析FusionCloud 6.1存储防脑裂机制,重点介绍SCSI-3 Persistent Reservation的挑战模式与实战命令。通过原理拆解、场景分析和实战案例,帮助架构师掌握虚拟机高可用(HA)环境下的存储锁机制,有效解决数据一致性问题,提升云平台稳定性。

weixin_30567225的博客 423

频频闯祸的 JNDI,到底是个什么 垃圾 玩意儿?

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。每次规模比较大的漏洞,JNDI好像都不会缺席。最近人尽皆知的Log4j2漏洞也和它有关,让人 不由得怀疑,是不是作者开的后门。因为JNDI这个玩意,别说用过,很多人连听都没听说过。这么冷门酸爽的东西,有什么理由把它放在一个日志框架里呢?恐怕只有作者想得通。

qq_53058639的博客 1837

Langchain分割方式

【代码】Langchain分割方式。

2897

第二十一篇: `man`, `tldr`, `explain` - 授人以渔的“终极指令”

我们已经一起学习了19个(组)关键命令,从nvidia-smi到kubectl。但这只是GPU运维武器库中的一小部分。技术日新月异,新的工具、新的参数会不断涌现。这个系列的真正目的,不仅是教会你使用这19件“兵器”,更是希望你掌握学习任何一件新兵器的方法论。这套方法论就是你的“终极指令”。授人以鱼不如授人以渔。至此,《GPU运维指令集:20个关键命令的战地手册》系列已全部完结。我们从nvidia-smi出发,一路探索了监控、诊断、容器、集群、网络、性能等各个维度的命令,最后用自动化脚本将它们串联,又用。

weixin_42587823的博客 1352

JNDI注入+高版本绕过+工具使用

JNDI注入+高版本绕过+工具使用

GalaxySpaceX的博客 3489

ArduSub程序学习(1)——ardupilot框架整理

AP_HAL层(硬件抽象层)是我们制作 ArduPilot 的方式可移植到许多不同的平台。有一个顶级AP_HAL libraries/AP_HAL,用于定义代码其余部分的接口 有针对具体的板子特性,然后就有了AP_HAL_XXX 子目录,例如,AP_HAL_AVR 用于基于 AVR 的 开发板,AP_HAL_PX4用于 Pixhawk 开发板和 AP_HAL_Linux 基于 Linux 开发板。工具目录tools directories工具目录是杂项支持目录。

weixin_49839886的博客 2817

命名和目录接口 JNDI-The Java Naming and Directory Interface

命名和目录接口 JNDI-The Java Naming and Directory Interface JNDI (The Java Naming and Directory Interface)为应用程序提供命名和目录功能。 JNDI体系结构由API和SPI组成。Java应用程序使用JNDI API来访问各种命名和目录服务。SPI允许透明地插入各种命名和目录服务,这样是用来JNDI API的应...

weixin_30793643的博客 195

【ESP32设备通信】-两个ESP32间UART通信

在本文中,我们将使用 Arduino IDE 的 UART 硬件库在两个 ESP32 板之间执行 UART 或串行通信。 要使用 USB 端口调试和编程 ESP32,需要使用称为通用异步接收器/发送器 (UART) 通信的串行端口。 对于大多数传感器和系统,主要的通信方法被认为是 UART。 为了共享工作负载、信息和执行不同的任务,有时需要在两个 ESP32 开发板之间进行通信。

视觉与物联智能 2997

QT+QGIS跨平台编译(基于Qt,采用一套代码、一套框架,完成QGIS第三方库、核心库、应用程序的跨平台编译)

QT+QGIS跨平台编译。 基于Qt,采用一套代码、一套框架,完成QGIS第三方库、核心库、应用程序的跨平台编译。

LuckyHanMo的博客 4381

JNDI JNDI(Java Naming and Directory Interface)

JNDI JNDI(Java Naming and Directory Interface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。 JNDI可访问的现有的目录及服务有: DNS、XNam 、Novell目录服务、LDAP(Lightweight Directory Access Protocol 轻型目录访问协议

lanbery的专栏 830

基于深度学习YOLOv10的人脸表情识别系统(附完整资源+PySide6界面+训练代码)

本文介绍了如何基于YOLOv10实现一个人脸表情识别系统。我们从数据集准备、模型训练到PySide6界面实现进行了详细的讲解。通过该系统,用户可以实时检测和分类人脸表情,为情感分析、智能交互等应用场景提供支持。

YOLO 1053

JNDI全称 Java Naming and Directory Interface

 JNDI全称 Java Naming and Directory InterfaceJNDI是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个API和一个服务供应接口(SPI)。这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。JNDI目前所支持的技术包括LDA

1162

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

JNDI (The Java Naming and Directory Interface)基本概念

JNDI  (The Java Naming and Directory Interface)相关概念 JNDI是一种应用程序接口,向应用程序提供使用java语言编写的命名(naming)和目录(directory)功能。JNDI的架构由API和SPI(Service Provider Interface)组成。如下图所示:  JNDI被分成了5个包:·        

Fitzwilliam的专栏 2237

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【JNDI】Java Naming and Directory Interface

一、数据源的由来   在Java开发中,使用JDBC操作数据库的四个步骤如下:     ①加载数据库驱动程序(Class.forName("数据库驱动类");)    ②连接数据库(Connection con = DriverManager.getConnection();)    ③操作数据库(PreparedStatement stat = con.prepareState...

weixin_30586085的博客 134

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JNDI: The Java Naming and Directory Interface

什么是 JNDI ? The Java Naming and Directory Interface 是访问不同名字和目录服务的统一 API 接口。 不同的服务使用不同的名字格式。 Java 程序需要以相同的格式访问数据库,文件,目录,对象和网络。   JNID 有两部分接口:应用程序接口和提供服务的接口。在应用程序中使用 API 来访问名字或目录服务,在一个新的服务中...

yangzibin的博客 201

JNDI (Java Naming and Directory Interface)

JNDI可用于配置数据连接。可用于配置Mail服务器。        JNDI由容器管理。 第一步:将mysql-connector-java-bin.jar包放到tomcat/lib中 第二步:创建一个数据库,创建一个表 修改项目的.class文件的编译目标:                   WebContent/WEB-INF/classes 第三步:项目的

xiaobiaobiao521的专栏 689

关于jndi(Java Naming and Directory Interface)java的命名与目录实例的接口

context.xml   关于jsp页面的显示    Context ctx=new InitialContext();    String jn=(String)ctx.lookup("java:comp/env/tjndi");    out.println(jn);  %>

luanjuan的博客 511

JNDI(Java Naming and Directory Interface,Java命名和目录接口)

使用JNDI相对与JDBC来说是他的灵活性,程序员不需要关心“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?访问数据库的用户名和口令是什么?”等等这些问题,程序员编写的程序应该没有对 JDBC 驱动程序的引用,没有服务器名称,没有用户名称或口令 —— 甚至没有数据库池或连接管理。而是把这些问题交给J2EE容器来配置和管理,程序员只需要对这些配置和管理进行引用即

静以修身 694

JNDI(Java Naming and Directory Interface)介绍

原文地址:http://www.cnblogs.com/chinafine/archive/2010/06/16/1759246.html   名词解释     jndi是Java 命名和目录接口(Java Naming and Directory Interface,JNDI)的简称.从一开始就一直是 Java 2 平台企业版(JEE)的核心技术之一。在JMS,JMail,JD

杨春建的博客 891

JNDI(Java Naming and Directory Interface)资源是Java平台的一种标准服务,用于在分布式系统中查找、共享和管理资源

JNDI(Java Naming and Directory Interface)是Java平台提供的一个标准API,用于统一访问各种命名和目录服务(如LDAP、DNS、RMI注册表、CORBA COS命名服务等)。它不直接提供命名/目录服务,而是作为抽象层,通过可插拔的服务提供者接口(SPI)与底层具体实现(如`com.sun.jndi.ldap.LdapCtxFactory`)解耦。

[Blog][Domain] programb.blog.youkuaiyun.com 775

JNDI(Java Naming and Directory Interface–Java命名和目录接口)

JNDI(Java Naming and Directory Interface,Java命名和目录接口)为应用程序提供了一种通过网络访问远程服务的方式。本节我们学习如何通过JNDI API注册和访问JDBC数据源对象。读者如果需要了解更多JNDI相关细节,则可参考JNDI规范文档。

BMZDT的博客 661
上一篇: JDBC Connection Pool
下一篇: RMI(Remote Method Invocation)
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值