首页 数据库 mysql教程 保护与IBM Informix JDBC、ODBC和ESQL/C驱动程序的连接

保护与IBM Informix JDBC、ODBC和ESQL/C驱动程序的连接

Jun 07, 2016 pm 05:54 PM
ibm jdbc odbc

为数据源使用连接池可能会导致基于角色的安全性破坏。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;
登录后复制

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Java8(291)之后禁用了TLS1.1使JDBC无法用SSL连接SqlServer2008怎么解决 Java8(291)之后禁用了TLS1.1使JDBC无法用SSL连接SqlServer2008怎么解决 May 16, 2023 pm 11:55 PM

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错误:JDBC错误,如何解决和避免 Java错误:JDBC错误,如何解决和避免 Jun 24, 2023 pm 02:40 PM

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

Linux怎么安装ODBC连接SQLServer数据库 Linux怎么安装ODBC连接SQLServer数据库 May 16, 2023 pm 12:19 PM

操作系统: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

Java如何实现JDBC批量插入 Java如何实现JDBC批量插入 May 18, 2023 am 10:02 AM

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

Java使用JDBC API连接MySQL数据库遇到的常见问题 Java使用JDBC API连接MySQL数据库遇到的常见问题 Jun 10, 2023 am 09:55 AM

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

MySQL中的JDBC编程该如何分析 MySQL中的JDBC编程该如何分析 May 30, 2023 pm 10:19 PM

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

拥抱 AI 裁员 8000!百年巨头 IBM 的'广进计划”开始了 拥抱 AI 裁员 8000!百年巨头 IBM 的'广进计划”开始了 Mar 18, 2024 am 09:40 AM

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

IBM推出最新工具套件,以便将下一代人工智能开发迁移到大型机平台上 IBM推出最新工具套件,以便将下一代人工智能开发迁移到大型机平台上 Sep 28, 2023 pm 07:37 PM

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

See all articles