首頁 資料庫 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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1660
14
CakePHP 教程
1417
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
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

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

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

IBM推出最新工具套件,以便將下一代人工智慧開發遷移到大型主機平台上 IBM推出最新工具套件,以便將下一代人工智慧開發遷移到大型主機平台上 Sep 28, 2023 pm 07:37 PM

IBM近日宣布,在最近為大型主機開發人員推出的生成式AI編碼功能的基礎上,推出了一套新的產品,使人工智慧更容易在他們舊的資料中心硬體上運行IBM表示,IBMZ的更新旨在透過跨多個行業和用例實施業務型AI來幫助客戶改善業務成果,其中包括了一組新的開發人員工具包,支援最廣泛使用的AI框架和Python程式語言、MachineLearningforz/OS的增強功能、以及IBMz/OS大型主機作業系統在效能上的改進。 IBM表示,這些更新將讓客戶能夠提高保單建議的準確性,提高反洗錢控制的可靠性和及時效性,降

擁抱 AI 裁員 8000!百年巨頭 IBM 的「廣進計畫」開始了 擁抱 AI 裁員 8000!百年巨頭 IBM 的「廣進計畫」開始了 Mar 18, 2024 am 09:40 AM

IBM突然宣布,啟動新一輪裁員!在最新一次7分鐘員工會議上,IBM首席通訊官宣了這項消息。此次將主要集中在行銷和通訊部門。雖然IBM沒有就裁員規模發表正式聲明,但就在今年1月,他們就宣布裁員3,400人。該公司執行長ArvindKrishna早前就表示,公司將在未來五年內,以人工智慧取代8,000個職缺工作。這一整個突發操作,直接把員工給乾懵了……這8000人是不是早就開始裁員了△圖源:一畝三分地據相關網站統計,今年迄今為止約有204家科技公司裁員近5萬人。包括Google母公司Alphabet、亞馬

See all articles