保护与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;

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Nach Java8-291 ist TLS1.1 deaktiviert, sodass JDBC keine Verbindung zu SqlServer2008 über SSL herstellen kann. Was soll ich tun? es ist jre, gehen Sie zu {JAVA_HOME}/jre/ In lib/security, zum Beispiel????C:\ProgramFiles\Java\jre1.8.0_301\lib\security Wenn es sich um die grüne, installationsfreie tragbare Version von Eclipse handelt , suchen Sie im Installationsordner nach java.security, z. B.????xxx\plugins \org

Durch die weit verbreitete Anwendung von Java treten häufig JDBC-Fehler auf, wenn Java-Programme eine Verbindung zu Datenbanken herstellen. JDBC (JavaDatabaseConnectivity) ist eine Programmierschnittstelle in Java, die zum Herstellen einer Verbindung zu einer Datenbank verwendet wird. Daher ist ein JDBC-Fehler ein Fehler, der auftritt, wenn ein Java-Programm mit einer Datenbank interagiert. Hier sind einige der häufigsten JDBC-Fehler und wie man sie löst und vermeidet. ClassNotFoundException Dies ist die häufigste JDBC-Ausnahme

Betriebssystem: Centos7.21. Laden Sie das ODBC-Installationspaket unixODBC-2.3.9.tar.gzfreetds-1.3.9.tar.gz2 herunter. Schritt 1: Laden Sie zwei Installationspakete auf den Server hoch. Installieren Sie dies zuerst und installieren Sie dann freetds. Hinweis: Wenn die Installationsreihenfolge hier inkonsistent ist, wird die Treiberdatei libtdsodbc.so nicht generiert (sehr wichtig). 2.1 Das Betriebssystem installiert zuerst gcc: yuminstallgcc2.2 und dann odbctar-xvfunixODBC -2.3.9.tar .gzcdunixODBC-2.3.9./conf

1. Erklären Sie, dass in JDBC die Methode „executeBatch“ mehrere DML-Anweisungen stapelweise ausführen kann und die Effizienz viel höher ist als die einzelne Ausführung von „executeUpdate“. Wie implementiert man die Batch-Ausführung in MySQL und Oracle? Dieser Artikel stellt Ihnen das Prinzip dahinter vor. 2. Einführung in das Experiment Dieses Experiment wird in den folgenden drei Schritten durchgeführt: a. Zeichnen Sie den Zeitaufwand für die Stapelausführung und Einzelausführung von JDBC in Oracle auf. c. Zeichnen Sie die Batch-Ausführung und die Einzelausführung von Oracleplsql auf. Die ausführungsaufwändigen Java- und Datenbankversionen sind wie folgt: Java17, Mysql8, Oracle

In den letzten Jahren hat sich die Anwendung der Java-Sprache immer weiter verbreitet, und JDBCAPI ist eine kreative Methode für Java-Anwendungen zur Interaktion mit Datenbanken. JDBC basiert auf einem offenen Datenbankverbindungsstandard namens ODBC, der es Java-Anwendungen ermöglicht, eine Verbindung zu beliebigen Datenbanken herzustellen Datenbank. Managementsystem (DBMS). Unter ihnen ist MySQL ein beliebtes Datenbankverwaltungssystem. Allerdings werden Entwickler auch auf einige häufige Probleme stoßen, wenn sie eine Verbindung zu MySQL-Datenbanken herstellen. Dieser Artikel zielt darauf ab, die JDBCAPI-Verbindung M vorzustellen

1. Voraussetzungen für die Datenbankprogrammierung Programmiersprachen wie Java, C, C++, Python und andere Datenbanken wie Oracle, MySQL, SQLServer und andere Datenbanktreiberpakete: Verschiedene Datenbanken stellen beispielsweise unterschiedliche Datenbanktreiberpakete bereit, die verschiedenen Programmiersprachen entsprechen : MySQL stellt das Java-Treiberpaket mysql-connector-java zur Verfügung, das für den Betrieb von MySQL auf Java-Basis erforderlich ist. Ebenso ist für den Betrieb einer auf Java basierenden Oracle-Datenbank das Datenbanktreiberpaket ojdbc von Oracle erforderlich. 2. Java-Datenbankprogrammierung: JDBCJDBC, JavaDatabaseConnectiv

IBM kündigte plötzlich eine neue Entlassungsrunde an! Der Chief Communications Officer von IBM gab die Neuigkeiten auf der letzten siebenminütigen Mitarbeiterbesprechung bekannt. Diesmal liegt der Fokus vor allem auf den Marketing- und Kommunikationsabteilungen. Obwohl IBM keine formelle Stellungnahme zum Ausmaß der Entlassungen abgegeben hat, kündigte das Unternehmen erst im Januar dieses Jahres an, 3.400 Mitarbeiter zu entlassen. Der CEO des Unternehmens, Arvind Krishna, sagte zuvor, dass das Unternehmen in den nächsten fünf Jahren 8.000 Arbeitsplätze durch künstliche Intelligenz ersetzen werde. Diese völlig plötzliche Operation hat die Mitarbeiter direkt verwirrt ... Haben diese 8.000 Menschen schon vor langer Zeit damit begonnen, Mitarbeiter zu entlassen? Quelle: One Acre Three Points Laut Statistiken relevanter Websites haben in diesem Jahr bisher etwa 204 Technologieunternehmen Mitarbeiter entlassen, fast 50.000 Menschen. Darunter Google-Mutterkonzern Alphabet, Amazon

IBM hat kürzlich eine neue Reihe von Produkten angekündigt, die auf den kürzlich eingeführten generativen KI-Codierungsfunktionen für Mainframe-Entwickler aufbauen, um die Ausführung künstlicher Intelligenz auf ihrer älteren Rechenzentrumshardware zu erleichtern. IBM sagte in einem Update für IBMZ, dass es Kunden dabei helfen soll, ihre Geschäftsergebnisse zu verbessern Durch die Implementierung von Geschäfts-KI in mehreren Branchen und Anwendungsfällen umfasst es eine neue Reihe von Entwickler-Toolkits, die die am weitesten verbreiteten KI-Frameworks und die Programmiersprache Python unterstützen, Verbesserungen des maschinellen Lernens für z/OS und Leistungsverbesserungen im IBMz/OS-Mainframe-Betriebssystem . IBM sagte, dass diese Aktualisierungen es Kunden ermöglichen werden, die Genauigkeit der Richtlinienberatung zu verbessern, die Zuverlässigkeit und Aktualität der Anti-Geldwäsche-Kontrollen zu verbessern und zu reduzieren
