クライアント接続を開始する場合、CIMClient クラスを使用して CIM オブジェクトマネージャに接続します。CIMClient クラスは、次の 4 つの引数を取ります。
name – 必須。クライアント接続に使用されるホストおよび名前空間の名前を含む CIMNameSpace オブジェクトのインスタンス。デフォルト値は、ローカルホスト上の root\cimv2 です。ローカルホストとは、クライアントアプリケーションを実行しているホストです。クライアントから CIMOM への接続が確立されたあと、後続の CIMClient 操作はすべて指定された名前空間内で行われます。
principal – 必須。有効な Solaris ユーザーアカウント名を含む UserPrincipal オブジェクトのインスタンス。CIMOM は、ユーザー名からそのアクセス特権を確認し、CIM オブジェクトに許可されたアクセスの種類を決定します。
credential – 必須。UserPrincipal Solaris アカウントの有効なパスワードを含む PasswordCredential オブジェクトのインスタンス。
protocol – 任意 (文字列)。CIMOM へのメッセージ送信に使用するプロトコル。有効な値は、 RMI (デフォルト値) または HTTP です。
次の例では、アプリケーションは、デフォルトの名前空間のローカルホストで稼働する CIM オブジェクトマネージャに接続します。アプリケーションは、デフォルトの名前空間のすべての CIM オブジェクトに読み取り権および書き込み権を持つ、ルートアカウント用 UserPrincipal オブジェクトを作成します。
{
...
/* デフォルトのホスト (ローカルホスト) とデフォルトの名前空間
(root\cimv2) を示す 2 つの NULL
文字列で初期化された名前空間オブジェクトを作成する */
CIMNameSpace cns = new CIMNameSpace("", "");
UserPrincipal up = new UserPrincipal("root");
PasswordCredential pc = new PasswordCredential("root-password");
/* root ユーザーとして root パスワードを使って名前空間に
接続する */
CIMClient cc = new CIMClient(cns, up, pc);
...
}
次の例では、アプリケーションは、最初に CIMNameSpace、UserPrincipal、および PasswordCredential オブジェクトのインスタンスを作成します。次に、CIMOM への接続を確立するため、CIMClient クラスを使って、資格情報 (ホスト名、名前空間、ユーザー名、およびパスワード) を渡します。
{
...
/* ホスト happy 上の名前空間
A で初期化された名前空間オブジェクトを
作成する */
CIMNameSpace cns = new CIMNameSpace("happy", "A");
UserPrincipal up = new UserPrincipal("Mary");
PasswordCredential pc = new PasswordCredential("marys-password");
CIMClient cc = new CIMClient(cns, up, pc);
...
}
SolarisUserPrincipal および SolarisPasswordCredential クラスを使用して、ユーザーの役割 ID を認証します。次の例では、Mary の役割を Admin として認証します。
{
...
CIMNameSpaceRole cns = new CIMNameSpace("happy", "A");
SolarisUserPrincipal sup = new SolarisUserRolePrincipal("Mary", "Admin");
SolarisPswdCredential spc = new
SolarisPswdCredential("marys-password", "admins-password");
CIMClient cc = new CIMClient(cns, sup, spc);