保护与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 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java8-291 以降、TLS1.1 が無効になっているため、JDBC が SSL を使用して SqlServer2008 に接続できません。どうすればよいですか? java.security ファイルを変更する解決策は次のとおりです。 1. jre の java.security ファイルを見つけます。それが jre である場合は、lib/security の {JAVA_HOME}/jre/ に移動します (例:???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 です

1. JDBC では、executeBatch メソッドを使用して複数の dml ステートメントをバッチで実行でき、executeUpdate を個別に実行するより効率が高いことを説明します。その原理は何ですか? mysqlとoracleでバッチ実行を実装するにはどうすればよいですか?この記事ではその原理を紹介します。 2. 実験の導入 この実験は、次の 3 つの手順で実行されます: a. mysql で jdbc バッチ実行と単一実行にかかる時間を記録する; b. oracle で jdbc バッチ実行と単一実行にかかる時間を記録する; c. jdbc バッチ実行と単一実行にかかる時間を記録するoracleplsql のバッチ実行と単一実行を記録します。実行に時間がかかる関連する Java およびデータベースのバージョンは次のとおりです: Java17、Mysql8、Oracle

オペレーティング システム: Centos7.21、ODBC インストール パッケージをダウンロードします unixODBC-2.3.9.tar.gzfreetds-1.3.9.tar.gz2、インストール手順 ステップ 1: 2 つのインストール パッケージをサーバーにアップロードします ステップ 2: unixODBC をインストールします、これをインストールします最初に、次に freetds をインストールします。 注: ここでインストール順序が一貫していない場合、libtdsodbc.so ドライバー ファイルは生成されません (非常に重要) 2.1. オペレーティング システムは、最初に gcc: yuminstallgcc2.2 をインストールし、次に odbctar-xvfunixODBC- をインストールします。 2.3.9.tar.gzcdunixODBC-2.3.9./conf

近年、Java 言語のアプリケーションはますます普及しており、JDBCAPI は、Java アプリケーションがデータベースと対話するための独創的な方法です。JDBC は、ODBC と呼ばれるオープン データベース接続標準に基づいており、Java アプリケーションは任意のデータベースに接続できます。データベース管理システム (DBMS)。その中でも、MySQL は人気のあるデータベース管理システムです。ただし、開発者は、MySQL データベースに接続するときに、いくつかの一般的な問題に遭遇することもあります。この記事は、JDBCAPI 接続 M を紹介することを目的としています。

1. データベース プログラミングの前提条件 プログラミング言語 (Java、C、C++、Python など)、およびその他のデータベース (Oracle、MySQL、SQLServer など)、およびその他のデータベース ドライバー パッケージ: データベースが異なれば、プログラミング言語に対応するデータベース ドライバー パッケージも異なります。 : MySQL は、Java ベースで MySQL を動作させるために必要な Java ドライバー パッケージ mysql-connector-java を提供します。同様に、Java ベースで Oracle データベースを動作させるには、Oracle のデータベース ドライバー パッケージ ojdbc が必要です。 2. Java データベース プログラミング: JDBCJDBC、JavaDatabaseConnectiv

IBM が突然、新たなレイオフを発表しました。 IBMの最高コミュニケーション責任者は、最新の7分間のスタッフ会議でこのニュースを発表した。今回は主にマーケティング部門とコミュニケーション部門に焦点を当てます。 IBMは人員削減の規模について正式な声明を発表していないが、今年1月には3,400人を人員削減すると発表した。同社のアルビンド・クリシュナ最高経営責任者(CEO)は先に、同社は今後5年間で8,000人の雇用を人工知能に置き換えると述べた。この突然の措置は従業員を直接混乱させた...この 8,000 人はずっと前から従業員の解雇を始めていたのだろうか△出典: One Acre and Three Minutes 関連ウェブサイトの統計によると、今年これまでに約 204 社のテクノロジー企業が従業員を解雇した。人々。 Googleの親会社であるAlphabet、Amazonを含む

IBMは最近、メインフレーム開発者向けに、古いデータセンターのハードウェア上で人工知能を実行しやすくするために、最近発売された生成AIコーディング機能を基盤とした新しい製品セットを発表した。複数の業界やユースケースにわたってビジネス AI を実装することにより、最も広く使用されている AI フレームワークと Python プログラミング言語をサポートする新しい開発者ツールキットのセット、z/OS の機械学習の機能強化、IBMz/OS メインフレーム オペレーティング システムのパフォーマンスの向上が含まれています。 。 IBMは、これらのアップデートにより、顧客はポリシーに関するアドバイスの精度を向上させ、マネーロンダリング対策管理の信頼性と適時性を向上させ、資金洗浄のリスクを軽減できると述べた。
