bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA アプリケーションのセキュリティ機能 > C++ セキュリティ・リファレンス |
Tuxedo CORBA アプリケーションのセキュリティ機能
|
SecurityLevel2::Credentials::is_valid
概要
クリデンシャルのステータスをチェックします。
OMG IDL 定義
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++) および maximum long (Java) が含まれています。unsigned long long データ型が適用されると、ulonglong が控えのデータ型になります。ulonglong データ型は次のように定義します。
//ulonglong データ型の仮の定義
//これは、すべてのクライアント ORB による型の拡張の適用を保留
struct ulonglong {
unsigned long low;
unsigned long high;
};
注記 この情報は、「CORBAservices: Common Object Services Specification」(1995 年 3 月 31 日改訂版、1997 年 11 月更新) の 15-97 ページから、OMG の許可を得て転載しています。
SecurityLevel2::PrincipalAuthenticator
概要
プリンシパルを認証できるようにします。SecurityLevel2::PrincipalAuthenticator インターフェイスをサポートする Principal Authenticator オブジェクトは、位置制約付きオブジェクトです。このオブジェクトの位置の外にリファレンスを渡そうとしたり、CORBA::ORB::object_to_string() を使用してオブジェクトを外部化しようとしたりすると、CORBA::Marshall 例外が発生します。
OMG IDL 定義
#ifndef _SECURITY_LEVEL_2_IDL
#define _SECURITY_LEVEL_2_IDL
#include <SecurityLevel1.idl>
#pragma prefix “omg.org”
module SecurityLevel2
{
interface PrincipalAuthenticator
{ //位置制約付き
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;
};
C++ 宣言
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&) { }
}; //クラス PrincipalAuthenticator
};
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |