保护与IBM Informix JDBC、ODBC和ESQL/C驱动程序的连接
为数据源使用连接池可能会导致基于角色的安全性破坏。IBM Informix 服务器中对可信连接和可信上下文的支持能够灵活地重用连接,向中间层授予受控的权限,以及在三层应用程序中加强用户责任性而不损害其数据库安全性,所有这些都改善了系统性能。
本文将讨论可信连接和可信上下文,展示如何使用 JDBC、ESQL/C 和 ODBC 驱动程序管理可信上下文。
在传统的三层应用程序模型中,您只有在成功授权之后才能与交互,检查和审计由中间层执行。即使有多个用户登录到中间层,中间层也仅使用单个用户 ID 来访问,而且会在所有资源上授予权限。此模型无法获取尝试访问数据库的实际用户身份,以进行访问控制。另外,如果中间层用户 ID 被盗用,可能导致严重的安全威胁。
为了在中间层服务器与数据库服务器之间实现惟一的交互组,Informix 中引入了可信数据库连接 的概念。可信上下文 是在数据库服务器上创建的一种数据库安全对象,它定义了一个可信数据库连接的属性。在连接属性与 Informix 服务器上定义的惟一可信上下文属性匹配时,就会建立可信连接。中间层服务器建立可信连接后,可重用同一个物理连接,而无需在数据库服务器上对最终用户重新进行身份验证。
从应用程序开发人员的角度讲,可信连接的重要性离不开这样一个事实:单个数据库连接可与其他用户共享,同时维护每一个尝试访问数据库的应用程序或用户的 ID。对用户权限的控制有助于适当地授予或限制用户对敏感资源的访问,进而提高系统安全性和用户责任性。
使用 Informix 客户端驱动程序管理可信上下文
在本节中,您将学习如何创建、修改和丢弃一个可信上下文。要创建和管理可信上下文,您的应用程序必须通过 TCP/IP 连接 Informix 服务器。以下 Informix 客户端驱动程序通过公开后面几节中将探讨的相关 API 来支持可信连接。
- IBM Informix JDBC 驱动程序
- IBM Informix ODBC 驱动程序
- IBM Informix ESQL/C 驱动程序
建立可信连接
使用 JDBC 驱动程序
要在 JDBC 应用程序中请求一个可信连接,可将 TRUSTED_CONTEXT = TRUE; 属性包含在数据库 URL 中,如清单 1 中所示。
清单 1. 使用 JDBC 驱动程序连接
jdbc:informix-sqli://hostname:portnumber/database_name:INFORMIXSERVER = server_name; TRUSTED_CONTEXT = TRUE;
使用 ODBC 驱动程序
以下是通过 ODBC 建立可信连接的两种方式,一个示例如清单 2 中所示。
使用 SQLSetConnectAttr() API:
SQLSetConnectAttr(hdbc1,SQL_ATTR_USE_TRUSTED_CONTEXT,SQL_TRUE,SQL_IS_INTEGER));
使用连接字符串参数:
TRUSTEDCONTEXT=1; 或 TCTX=1;
清单 2. ODBC 驱动程序的样例连接字符串
"Server=ol_informix_1170;Host=9.124.123.54;Service=ol_informix_1170;Protocol=onsoctcp; Database=stores7;TRUSTEDCONTEXT=1;"
使用 ESQL/C 驱动程序
在 ESQL/C 中,可信连接使用 TRUSTED 关键字和连接语句,以及用户名和密码来建立,如清单 3 中所示。
清单 3. 使用 ESQL/C 驱动程序连接
EXEC SQL CONNECT TO 'database_name' USER 'informix' USING :infx_passwd TRUSTED;

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Java8-291之后,禁用了TLS1.1,使JDBC无法用SSL连接SqlServer2008怎么办,以下是解决办法修改java.security文件1.找到jre的java.security文件如果是jre,在{JAVA_HOME}/jre/lib/security中,比如????C:\ProgramFiles\Java\jre1.8.0_301\lib\security如果是Eclipse绿色免安装便携版在安装文件夹搜索java.security,比如????xxx\plugins\org

随着Java的广泛应用,Java程序在连接数据库时经常会出现JDBC错误。JDBC(JavaDatabaseConnectivity)是Java中用于连接数据库的编程接口,因此,JDBC错误是在Java程序与数据库交互时遇到的一种错误。下面将介绍一些最常见的JDBC错误及如何解决和避免它们。ClassNotFoundException这是最常见的JDBC

操作系统:Centos7.21、下载ODBC安装包unixODBC-2.3.9.tar.gzfreetds-1.3.9.tar.gz2、安装步骤第一步:上传两个安装包到服务器上第二步:安装unixODBC,先安装这个,后安装freetds注意:这里如果安装顺序不一致,就不会产生libtdsodbc.so驱动文件(非常重要)2.1、操作系统先安装gcc:yuminstallgcc2.2、安装odbctar-xvfunixODBC-2.3.9.tar.gzcdunixODBC-2.3.9./conf

一、说明在JDBC中,executeBatch这个方法可以将多条dml语句批量执行,效率比单条执行executeUpdate高很多,这是什么原理呢?在mysql和oracle中又是如何实现批量执行的呢?本文将给大家介绍这背后的原理。二、实验介绍本实验将通过以下三步进行a.记录jdbc在mysql中批量执行和单条执行的耗时b.记录jdbc在oracle中批量执行和单条执行的耗时c.记录oracleplsql批量执行和单条执行的耗时相关java和数据库版本如下:Java17,Mysql8,Oracl

近年来,Java语言的应用越来越广泛,而JDBCAPI是Java应用程序中与数据库交互的一种创造性方法,JDBC基于一种名为ODBC的开放数据库连接标准,使得Java应用程序能够连入任何数据库管理系统(DBMS)。其中,MySQL更是一款备受青睐的数据库管理系统。然而,连接MySQL数据库时,开发人员也会遇到一些常见问题,本文旨在介绍JDBCAPI连接M

一、数据库编程的必备条件编程语言,如Java,C、C++、Python等数据库,如Oracle,MySQL,SQLServer等数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。同样的,要基于Java操作Oracle数据库则需要Oracle的数据库驱动包ojdbc。二、Java的数据库编程:JDBCJDBC,即JavaDatabaseConnectiv

IBM突然宣布,启动新一轮裁员!在最新一次7分钟员工会议上,IBM首席通讯官宣了这一消息。此次将主要集中在营销和通讯部门。虽然IBM没有就裁员规模发表正式声明,但就在今年1月,他们就已宣布裁员3400人。该公司首席执行官ArvindKrishna早前就表示,公司将在未来五年内,用人工智能取代8000个岗位工作。这一整个突发操作,直接把员工给干懵了……这8000人是不是早就开始裁员了△图源:一亩三分地据相关网站统计,今年迄今为止约有204家科技公司裁员近5万人。包括谷歌母公司Alphabet、亚马

IBM近日宣布,在最近为大型机开发人员推出的生成式AI编码功能的基础上,推出了一套新的产品,使人工智能更容易在他们旧的数据中心硬件上运行IBM表示,IBMZ的更新旨在通过跨多个行业和用例实施业务型AI来帮助客户改善业务成果,其中包括了一组新的开发人员工具包,支持最广泛使用的AI框架和Python编程语言、MachineLearningforz/OS的增强功能、以及IBMz/OS大型机操作系统在性能上的改进。IBM表示,这些更新将让客户能够提高保单建议的准确性,提高反洗钱控制的可靠性和及时效性,降
