ここでは、CORBAセキュリティのC++メソッドについて説明します。
SecurityLevel1::Current::get_attributes
Security::AttributeList get_attributes(
in Security::AttributeTypeList attributes
);
};
値が必要とされているセキュリティ属性(権限属性タイプ)のセット。このリストが空の場合は、すべての属性が返されます。
このメソッドは、プリンシパルの資格証明から権限などの属性をCurrentインタフェース用に取得します。
|
|
|
空(認証が実行されなかった場合は、Publicが返されます)。
|
|
Oracle Tuxedoユーザー名を含むNULL終了ASCII文字列。
|
|
Oracle Tuxedoプリンシパル名を含むNULL終了ASCII文字列。
|
注意:
|
defining_authorityフィールドは常に空です。 UBBCONFIGファイルで定義されているセキュリティ・レベルによって、 get_attributeメソッドの一部の値を使用できない場合があります。追加された2つの値( Group Idおよび Role)は、 UBBCONFIGファイルでセキュリティ・レベルが ACLまたは MANDATORY_ACLに設定されている場合に使用できます。
|
注意:
|
この情報は、 「CORBAservices: Common Object Services Specification」の15-103、104ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。
|
SecurityLevel2::PrincipalAuthenticator::authenticate
プリンシパルを認証し、オプションでプリンシパルの資格証明を取得します。
Security::AuthenticationStatus
authenticate(
in Security::AuthenticationMethod
method,
in Security::SecurityName
security_name,
in Security::Opaque
auth_data,
in Security::AttributeList
privileges,
out Credentials
creds,
out Security::Opaque
continuation_data,
out Security::Opaque
auth_specific_data );
使用するセキュリティ・メカニズム。有効な値は、
Tobj::TuxedoSecurityおよび
Tobj::CertificateBasedです。
プリンシパルのID情報(ログオン情報など)。値は、プリンシパルのユーザー名を含むNULL終了文字列へのポインタである必要があります。文字列は、NULL文字を除いて30文字以内に制限されています。
証明書による認証を使用する場合、この名前は、LDAPを有効にしたディレクトリ・サービスで証明書をルックアップするのに使用します。また、この名前を基に、秘密鍵を格納するファイルの名前が決まります。例:
milozzi@company.comは、LDAPを有効にしたディレクトリ・サービスで証明書をルックアップするのに使用する電子メール・アドレスで、
milozzi_company.pemは秘密鍵ファイル名です。
パスワードまたは秘密鍵などのプリンシパルの認証。
Tobj:TuxedoSecurityセキュリティ・メカニズムを指定した場合、この引数の値は、構成された認証のレベルによって異なります。
Tobj::CertificateBased引数を指定した場合、この引数の値は、プリンシパルの秘密鍵の復号化に使用するパス・フレーズです。
新しく作成されたCredentialsオブジェクトのオブジェクト参照。オブジェクト参照は、完全には初期化されません。したがって、オブジェクト参照は、
SecurityLevel2::Current::authenticateメソッドの戻り値が
SecAuthSuccessになるまで使用できません。
SecurityLevel2::Current::authenticateメソッドの戻り値が
SecAuthContinueの場合、この引数は、継続する認証の試行情報を格納します。戻り値は常に空です。
使用する認証サービス固有の情報。戻り値は常に空です。
SecurityLevel2::Current::authenticateメソッドは、プリンシパルを認証し、Oracle Tuxedoドメインでのセッション時にプリンシパルで必要なオプションで権限属性をリクエストするために、クライアント・アプリケーションによって使用されます。
Tobj::TuxedoSecurityセキュリティ・メカニズムを指定する場合、
Tobj::PrincipalAuthenticator::logonオペレーションを呼び出すことで同じ機能を取得できます。このオペレーションは、同じ機能を提供しますが、ATMI認証セキュリティ・メカニズムで使用するための特別なオペレーションです。
|
|
|
creds引数が初期化され、使用する準備ができたときに返される新規作成Credentialsオブジェクトのオブジェクト参照。
|
|
認証プロセスが矛盾していたか、プロセスでエラーが発生しました。したがって、 creds引数には、Credentialsオブジェクトへのオブジェクト参照は含まれません。
Tobj::TuxedoSecurityセキュリティ・メカニズムを使用した場合、この戻り値は、認証に失敗したか、クライアント・アプリケーションがすでに認証されているものの、 Tobj::PrincipalAuthenticator::logoffオペレーションまたは Tobj_Bootstrap::destroy_currentオペレーションのいずれかを呼び出さなかったことを示します。
|
|
認証プロシージャで試行/レスポンス・メカニズムを使用していることを示します。 creds引数は、一部が初期化されたCredentialsオブジェクトのオブジェクト参照を格納します。 continuation_dataは、試行の詳細を示します。
|
|
認証データに、有効性が期限切れの情報が含まれていることを示します。したがって、 creds引数は、Credentialsオブジェクトへのオブジェクト参照を格納しません。
Tobj::TuxedoSecurityセキュリティ・メカニズムを指定した場合、この戻り値は返されません。
|
|
次の場合に、 CORBA::BAD_PARAM例外が発生します。
•
|
security_name、 auth_data、または privileges引数に値が指定されていない場合。
|
•
|
method引数の値が Tobj::TuxedoSecurity、 auth_data引数に空の文字列またはNULL文字列として usernameまたは clientnameが指定されている場合。
|
|
SecurityLevel2::Current::set_credentials
void set_credentials(
in Security::CredentialType cred_type,
in Credentials creds
);
設定する資格証明のタイプ(invocation、own、またはnon-repudiation)。
Credentialsオブジェクトに対するオブジェクト参照。これがデフォルトになります。
このメソッドは、
SecInvocationCredentialsの設定にのみ使用できます。それ以外の場合に使用すると、
set_credentialsで
CORBA::BAD_PARAMが発生します。資格証明は、以前の
SecurityLevel2::Current::get_credentialsまたは
SecurityLevel2::PrincipalAuthenticator::authenticateへの呼出しで取得済になっている必要があります。
注意:
|
この情報は、 「CORBAservices: Common Object Services Specification」の15-104ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。
|
SecurityLevel2::Current::get_credentials
Credentials get_credentials(
in Security::CredentialType cred_type
);
この呼出しは、
SecInvocationCredentialsの取得にのみ使用できます。それ以外の場合に使用すると、
get_credentialsで
CORBA::BAD_PARAMが発生します。資格証明を使用できない場合、
get_credentialsで
CORBA::BAD_INV_ORDERが発生します。
クライアント・アプリケーションのアクティブな資格証明のみを返します。
注意:
|
この情報は、 「CORBAservices: Common Object Services Specification」の15-105ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。
|
SecurityLevel2::Current::principal_authenticator
PrincipalAuthenticatorを返します。
readonly attribute PrincipalAuthenticator
principal_authenticator;
principal_authenticator属性によって返された
PrincipalAuthenticatorは、実際の型
Tobj::PrincipalAuthenticatorによるものです。このため、
Tobj::PrincipalAuthenticatorおよび
SecurityLevel2::PrincipalAuthenticatorの両方として使用できます。
注意:
|
このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、 CORBA::BAD_INV_ORDERが発生します。
|
PrincipalAuthenticatorを返します。
SecurityLevel2::Credentials
プロセスに特有のプリンシパルの資格証明情報を表します。
SecurityLevel2::CredentialsインタフェースをサポートするCredentialsオブジェクトは、位置制約付きオブジェクトです。このオブジェクトの位置の外に参照を渡すか、
CORBA::ORB::object_to_string()操作を使用してオブジェクトを外部化すると、
CORBA::Marshall例外が発生します。
#ifndef _SECURITY_LEVEL_2_IDL
#define _SECURITY_LEVEL_2_IDL
#include <SecurityLevel1.idl>
#pragma prefix ���omg.org���
module SecurityLevel2
{
interface Credentials
{
attribute Security::AssociationOptions
invocation_options_supported;
attribute Security::AssociationOptions
invocation_options_required;
Security::AttributeList
get_attributes(
in Security::AttributeTypeList attributes );
boolean
is_valid(
out Security::UtcT expiry_time );
};
};
#endif /* _SECURITY_LEVEL_2_IDL */
class SecurityLevel2
{
public:
class Credentials;
typedef Credentials * Credentials_ptr;
class Credentials : public virtual CORBA::Object
{
public:
static Credentials_ptr _duplicate(Credentials_ptr obj);
static Credentials_ptr _narrow(CORBA::Object_ptr obj);
static Credentials_ptr _nil();
virtual Security::AssociationOptions
invocation_options_supported() = 0;
virtual void
invocation_options_supported(
const Security::AssociationOptions options ) = 0;
virtual Security::AssociationOptions
invocation_options_required() = 0;
virtual void
invocation_options_required(
const Security::AssociationOptions options ) = 0;
virtual Security::AttributeList *
get_attributes(
const Security::AttributeTypeList & attributes) = 0;
virtual CORBA::Boolean
is_valid( Security::UtcT_out expiry_time) = 0;
protected:
Credentials(CORBA::Object_ptr obj = 0);
virtual ~Credentials() { }
private:
Credentials( const Credentials&) { }
void operator=(const Credentials&) { }
}; // class Credentials
}; // class SecurityLevel2
SecurityLevel2::Credentials::get_attributes
Security::AttributeList get_attributes(
in AttributeTypeList attributes
);
値が必要とされているセキュリティ属性(権限属性タイプ)のセット。このリストが空の場合は、すべての属性が返されます。
このメソッドは、プリンシパルの資格証明に添付された属性リストを返します。属性タイプのリストでは、
AttributeListに返す属性タイプの値のみを含める必要があります。属性は現在、属性ファミリまたはIDに基づいて返されません。ほとんどの場合、どのインスタンスでもプリンシパルの資格証明の有効なセットは1つのみであるため、これは、
SecurityLevel1::Current::get_attributes()を呼び出した場合と同じ結果です。結果は、資格証明が使用中でない場合には異なる可能性があります。
注意:
|
この情報は、 「CORBAservices: Common Object Services Specification」の15-97ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。
|
SecurityLevel2::Credentials::invocation_options_supported
SSL接続を確立してOracle Tuxedoドメインでオブジェクトに対する呼出しを実行する際に使用できるセキュリティ・オプションの最大数を示します。
attribute Security::AssociationOptions
invocation_options_supported;
このメソッドは、
SecurityLevel2::Credentials::invocation_options_requiredメソッドと組み合せて使用する必要があります。
|
|
|
SSLプロトコルは、メッセージ保護を提供しません。
|
|
SSLプロトコルは、メッセージの整合性チェックを提供します。メッセージの整合性を保護するのにデジタル署名を使用します。
|
|
SSL接続は、メッセージの機密性を保護します。メッセージの機密性を保護するのに暗号を使用します。
|
|
SSLプロトコルはリプレイ検出を提供します。リプレイは、メッセージが検出されずに繰り返し送信されたときに発生します。
|
|
SSLプロトコルは、リクエストおよびリクエスト・フラグメントのシーケンス・エラーの検出を提供します。
|
|
リクエストのターゲットがプリンシパルの開始元に対して自身を認証することを示します。
|
|
アクセス制御を決定するために、中間オブジェクトによる権限の使用をプリンシパルが許可することを示します。ただし、プリンシパルの権限は委任されないので、チェーン内の次のオブジェクトを呼び出すときに中間オブジェクトは権限を使用できません。
|
|
アクセス制御を決定するために、中間オブジェクトによる権限の使用をプリンシパルが許可することを示し、その中間オブジェクトに権限を委任します。ターゲット・オブジェクトは、クライアント・アプリケーションの権限のみを受け取り、中間オブジェクトのIDを認識しません。この呼出しオプションがターゲット・オブジェクトに対して制約なしに使用された場合、動作は偽装として認識されます。
|
|
中間オブジェクトによる資格証明の使用および委任をプリンシパルが許可することを示します。プリンシパルと中間オブジェクトの両方の権限をチェックできます。
|
セキュリティの関連付けに
Tobj::TuxedoSecurityセキュリティ・メカニズムを使用する場合、
NoProtection、
EstablishTrustInClient、および
SimpleDelegationセキュリティ・オプションのみが返されます。Oracle Tuxedoドメインへのアクセスにパスワードが要求されるようにCORBAアプリケーションのセキュリティ・レベルが定義された場合にのみ、
EstablishTrustInClientセキュリティ・オプションが表示されます。
注意:
|
指定したセキュリティ・オプションが、CORBAアプリケーション用に定義されたセキュリティ・メカニズムでサポートされていない場合、 CORBA::NO_PERMISSION例外が返されます。この例外は、指定したセキュリティ・オプションが、 SecurityLevel2::Credentials::invocation_options_requiredメソッドで指定したセキュリティ・オプションよりも少ない機能しか持っていない場合にも発生します。
|
invocation_options_supported属性には、
set()メソッドと
get()メソッドがあります。
Tobj::TuxedoSecurityセキュリティ・メカニズムを使用してCredentialsオブジェクトを取得する場合には、
set()メソッドを使用できません。
Tobj::TuxedoSecurityセキュリティ・メカニズムで
set()メソッドを使用すると、
CORBA::NO_PERMISSION例外が返されます。
SecurityLevel2::Credentials::invocation_options_required
SSL接続を確立してOracle Tuxedoドメインでターゲット・オブジェクトに対する呼出しを実行する際に使用できるセキュリティ・オプションの最少数を指定します。
attribute Security::AssociationOptions
invocation_options_required;
このメソッドを使用すると、プリンシパルとOracle Tuxedoドメインの間の通信の保護を指定できます。このメソッドを使用すると、Credentialsオブジェクトは、定義したセキュリティ・オプションのレベルのSSLプロトコルを使用してターゲット・オブジェクトに対する呼出しを実行します。このメソッドは、
SecurityLevel2::Credentials::invocation_options_supportedメソッドと組み合せて使用する必要があります。
|
|
|
SSLプロトコルは、メッセージ保護を提供しません。
|
|
SSLプロトコルは、メッセージの整合性チェックを提供します。メッセージの整合性を保護するのにデジタル署名を使用します。
|
|
SSL接続は、メッセージの機密性を保護します。メッセージの機密性を保護するのに暗号を使用します。
|
|
SSLプロトコルはリプレイ検出を提供します。リプレイは、メッセージが検出されずに繰り返し送信されたときに発生します。
|
|
SSLプロトコルは、リクエストおよびリクエスト・フラグメントのシーケンス・エラーの検出を提供します。
|
|
リクエストのターゲットがプリンシパルの開始元に対して自身を認証することを示します。
|
|
アクセス制御を決定するために、中間オブジェクトによる権限の使用をプリンシパルが許可することを示します。ただし、プリンシパルの権限は委任されないので、チェーン内の次のオブジェクトを呼び出すときに中間オブジェクトは権限を使用できません。
|
|
アクセス制御を決定するために、中間オブジェクトによる権限の使用をプリンシパルが許可することを示し、その中間オブジェクトに権限を委任します。ターゲット・オブジェクトは、クライアント・アプリケーションの権限のみを受け取り、中間オブジェクトのIDを認識しません。この呼出しオプションがターゲット・オブジェクトに対して制約なしに使用された場合、動作は偽装として認識されます。
|
|
中間オブジェクトによる資格証明の使用および委任をプリンシパルが許可することを示します。プリンシパルと中間オブジェクトの両方の権限をチェックできます。
|
セキュリティの関連付けに
Tobj::TuxedoSecurityセキュリティ・メカニズムを使用する場合、
NoProtection、
EstablishTrustInClient、および
SimpleDelegationセキュリティ・オプションのみが返されます。Oracle Tuxedoドメインへのアクセスにパスワードが要求されるようにCORBAアプリケーションのセキュリティ・レベルが定義された場合にのみ、
EstablishTrustInClientセキュリティ・オプションが表示されます。
注意:
|
指定したセキュリティ・オプションが、CORBAアプリケーション用に定義されたセキュリティ・メカニズムでサポートされていない場合、 CORBA::NO_PERMISSION例外が返されます。この例外は、指定したセキュリティ・オプションが、 SecurityLevel2::Credentials::invocation_options_supportedメソッドで指定したセキュリティ・オプションよりも機能が多い場合にも発生します。
|
invocation_options_required属性には、
set()メソッドと
get()メソッドがあります。
Tobj::TuxedoSecurityセキュリティ・メカニズムを使用してCredentialsオブジェクトを取得する場合には、
set()メソッドを使用できません。
Tobj::TuxedoSecurityセキュリティ・メカニズムで
set()メソッドを使用すると、
CORBA::NO_PERMISSION例外が返されます。
SecurityLevel2::Credentials::is_valid
boolean is_valid(
out Security::UtcT expiry_time
);
使用された資格がそのときにアクティブな場合、このメソッドは、
TRUEを返します。つまり、
Tobj::PrincipalAuthenticator::logoffまたは
Tobj_Bootstrap::destroy_currentを呼び出していないということです。このメソッドが
Tobj::PrincipalAuthenticator::logoff()の後に呼び出された場合、
FALSEが返されます。このメソッドが
Tobj_Bootstrap::destroy_current()の後に呼び出された場合、
CORBA::BAD_INV_ORDER例外が発生します。
返された有効期限には、
maximum unsigned long long値(C++)が含まれています。
unsigned long longデータ型が適用されると、
ulonglongが控えのデータ型になります。
ulonglongデータ型は次のように定義します。
// ulonglongデータ型の仮の定義
//これは、すべてのクライアントORBによる型の拡張の適用を保留
struct ulonglong {
unsigned long low;
unsigned long high;
};
注意:
|
この情報は、 「CORBAservices: Common Object Services Specification」の15-97ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。
|
SecurityLevel2::PrincipalAuthenticator
プリンシパルを認証できるようにします。
SecurityLevel2::PrincipalAuthenticatorインタフェースをサポートするPrincipal Authenticatorオブジェクトは、位置制約付きオブジェクトです。このオブジェクトの位置の外に参照を渡すか、
CORBA::ORB::object_to_string()操作を使用してオブジェクトを外部化すると、
CORBA::Marshall例外が発生します。
#ifndef _SECURITY_LEVEL_2_IDL
#define _SECURITY_LEVEL_2_IDL
#include <SecurityLevel1.idl>
#pragma prefix ���omg.org���
module SecurityLevel2
{
interface PrincipalAuthenticator
{ // Locality Constrained
Security::AuthenticationStatus authenticate (
in Security::AuthenticationMethod method,
in Security::SecurityName security_name,
in Security::Opaque auth_data,
in Security::AttributeList privileges,
out Credentials creds,
out Security::Opaque continuation_data,
out Security::Opaque auth_specific_data
);
Security::AuthenticationStatus continue_authentication (
in Security::Opaque response_data,
in Credentials creds,
out Security::Opaque continuation_data,
out Security::Opaque auth_specific_data
);
};
};
#endif // SECURITY_LEVEL_2_IDL
#pragma prefix "beasys.com"
module Tobj
{
const Security::AuthenticationMethod
TuxedoSecurity = 0x54555800;
CertificateBased = 0x43455254;
};
class SecurityLevel2
{
public:
class PrincipalAuthenticator;
typedef PrincipalAuthenticator * PrincipalAuthenticator_ptr;
class PrincipalAuthenticator : public virtual CORBA::Object
{
public:
static PrincipalAuthenticator_ptr
_duplicate(PrincipalAuthenticator_ptr obj);
static PrincipalAuthenticator_ptr
_narrow(CORBA::Object_ptr obj);
static PrincipalAuthenticator_ptr _nil();
virtual Security::AuthenticationStatus
authenticate (
Security::AuthenticationMethod method,
const char * security_name,
const Security::Opaque & auth_data,
const Security::AttributeList & privileges,
Credentials_out creds,
Security::Opaque_out continuation_data,
Security::Opaque_out auth_specific_data) = 0;
virtual Security::AuthenticationStatus
continue_authentication (
const Security::Opaque & response_data,
Credentials_ptr & creds,
Security::Opaque_out continuation_data,
Security::Opaque_out auth_specific_data) = 0;
protected:
PrincipalAuthenticator(CORBA::Object_ptr obj = 0);
virtual ~PrincipalAuthenticator() { }
private:
PrincipalAuthenticator( const PrincipalAuthenticator&) { }
void operator=(const PrincipalAuthenticator&) { }
}; // class PrincipalAuthenticator
};
SecurityLevel2::PrincipalAuthenticator::continue_authentication
Security::AuthenticationStatus continue_authentication(
in Security::Opaque response_data,
in Credentials creds,
out Security::Opaque continuation_data,
out Security::Opaque auth_specific_data
);
Oracle Tuxedoソフトウェアは1つの手順で認証を実行するため、このメソッドは常に失敗し、
Security::AuthenticationStatus::SecAuthFailureを返します。
常に
Security::AuthenticationStatus::SecAuthFailureを返します。
注意:
|
この情報は、 「CORBAservices: Common Object Services Specification」の15-92、93ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。
|
Tobj::PrincipalAuthenticator::get_auth_type
Oracle Tuxedoドメインによって予測されている認証のタイプを取得します。
AuthType get_auth_type();
このメソッドは、Oracle Tuxedoドメインによって予測されている認証のタイプを返します。
注意:
|
このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、 CORBA::BAD_INV_ORDERが発生します。
|
Tobj_AuthType列挙への参照。Oracle Tuxedoドメインへのアクセスに必要な認証のタイプを返します。次の表は、有効な戻り値について説明しています。
|
|
|
認証はまったく必要ありません。ただし、クライアント・アプリケーションは、ユーザー名とクライアント・アプリケーション名を指定することで認証を受けることができます。パスワードは不要です。
このセキュリティ・レベルを指定するには、 UBBCONFIGファイルの RESOURCESセクションにある SECURITYパラメータに NONE値を指定します。
|
|
クライアント・アプリケーションは、Oracle Tuxedoドメインに対して自身を認証する必要があります。また、ユーザー名、クライアント名、およびパスワードを指定する必要があります。
このセキュリティ・レベルを指定するには、 UBBCONFIGファイルの RESOURCESセクションにある SECURITYパラメータに APP_PW値を指定します。
|
|
クライアント・アプリケーションは、Oracle Tuxedoドメインに対してクライアント・アプリケーションを認証する証明資料を提供する必要があります。証明資料は、パスワードまたはデジタル証明書です。
このセキュリティ・レベルを指定するには、 UBBCONFIGファイルの RESOURCESセクションにある SECURITYパラメータに USER_AUTH値を指定します。
|
Tobj::PrincipalAuthenticator::logon
Security::AuthenticationStatus logon(
in string user_name,
in string client_name,
in string system_password,
in string user_password,
in UserAuthData user_data
);
Oracle Tuxedoユーザー名です。認証レベルは、
TOBJ_NOAUTHです。
user_nameがNULLまたは空の場合、あるいは30文字を超えている場合、
logonで
CORBA::BAD_PARAMが発生します。
クライアント・アプリケーションのOracle Tuxedo名です。認証レベルは、
TOBJ_NOAUTHです。
client_nameがNULLまたは空の場合、あるいは30文字を超えている場合、logonで
CORBA::BAD_PARAM例外が発生します。
CORBAクライアント・アプリケーション・パスワードです。認証レベルは、
TOBJ_SYSAUTHです。クライアント名がNULLまたは空の場合、あるいは30文字を超えている場合、logonで
CORBA::BAD_PARAM例外が発生します。
注意:
|
system_passwordは、30文字以内で指定する必要があります。
|
デフォルトOracle Tuxedo認証サービスで使用するのに必要なユーザー・パスワードです。認証レベルは、
TOBJ_APPAUTHです。パスワードは30文字以内で指定します。
カスタムOracle Tuxedo認証サービスで使用するのに必要なクライアント・アプリケーション固有のデータです。認証レベルは、
TOBJ_APPAUTHです。
注意:
|
TOBJ_SYSAUTHには、 TOBJ_NOAUTHに加えてクライアント・アプリケーション・パスワードの要件が含まれます。 TOBJ_APPAUTHには、 TOBJ_SYSAUTHに加えて、ユーザー・パスワードまたはユーザー・データなどの追加情報が含まれます。
|
注意:
|
user_password引数と user_data引数は相互に排他的であり、Oracle Tuxedoドメインの構成で使用する認証サービスの要件によって異なります。Oracle Tuxedoのデフォルト認証サービスには、ユーザー・パスワードが必要です。カスタマイズされた認証サービスにはユーザー・データが必要です。 user_passwordと user_dataの両方が設定されている場合、ログオン呼出しで CORBA::BAD_PARAM例外が発生します。
|
このメソッドは、プリンシパルがOracle TuxedoドメインにアクセスできるようにIIOPリスナー/ハンドラを介してプリンシパルを認証します。このメソッドは
SecurityLevel2::PrincipalAuthenticator::authenticateと同じ機能ですが、引数はATMI認証指向です。
注意:
|
このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、 CORBA::BAD_INV_ORDERが発生します。
|
|
|
Security::AuthenticationStatus:: SecAuthSuccess
|
|
Security::AuthenticationStatus:: SecAuthFailure
|
認証が失敗したか、またはクライアント・アプリケーションがすでに認証済で、次のメソッドのいずれかを呼び出さなかったことを示します。
Tobj::PrincipalAuthenticator:logoff
Tobj_Bootstrap::destroy_current
|
Tobj::PrincipalAuthenticator::logoff
プリンシパルに関連付けられたセキュリティ・コンテキストを破棄します。
この呼出しは、セキュリティ・コンテキストを破棄しますが、Oracle Tuxedoドメインへのネットワーク接続を閉じません。
Logoffでも、現在の資格証明を無効化できます。認証タイプが
TOBJ_NOAUTHでない場合、ログオフした後の既存のオブジェクト参照を使用した呼出しは失敗します。
プリンシパルが現在Oracle Tuxedoドメインに対して認証されている場合、
Tobj_Bootstrap::destroy_current()を呼び出すと、暗黙的に
logoffが呼び出されます。
注意:
|
このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、 CORBA::BAD_INV_ORDERが発生します。
|
Tobj::PrincipalAuthenticator::build_auth_data
SecurityLevel2::PrincipalAuthenticator::authenticateで使用する認証データと属性を作成します。
void build_auth_data(
in string user_name,
in string client_name,
in string system_password,
in string user_password,
in UserAuthData user_data,
out Security::Opaque auth_data,
out Security::AttributeList privileges
);
CORBAクライアント・アプリケーション・パスワードです。
デフォルトOracle Tuxedo認証サービスで使用するユーザー・パスワードです。
カスタムOracle Tuxedo認証サービスで使用するクライアント・アプリケーション固有のデータです。
注意:
|
user_name、 client_name、または system_passwordがNULLまたは空の場合、あるいは30文字を超えている場合、以降の authenticateメソッド呼出しで CORBA::BAD_PARAM例外が発生します。
|
注意:
|
user_passwordパラメータと user_dataパラメータは相互に排他的であり、Oracle Tuxedoドメインの構成で使用する認証サービスの要件によってどちらを使用するかが決まります。Oracle Tuxedoのデフォルト認証サービスには、ユーザー・パスワードが必要です。カスタマイズされた認証サービスにはユーザー・データが必要です。 user_passwordと user_dataの両方が指定されている場合、後続の認証呼出しで CORBA::BAD_PARAM例外が発生します。
|
このメソッドは、
SecurityLevel2::PrincipalAuthenticator::authenticateで使用する認証データと属性を作成するヘルパー関数です。
注意:
|
このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、 CORBA::BAD_INV_ORDERが発生します。
|