Table of Contents Previous Next PDF


Using Security

Using Security
This topic includes the following sections:
Notes:
The Oracle Tuxedo CORBA Java client and Oracle Tuxedo CORBA Java client ORB were deprecated in Tuxedo 8.1 and are no longer supported. All Oracle Tuxedo CORBA Java client and Oracle Tuxedo CORBA Java client ORB text references, associated code samples, should only be used to help implement/run third party Java ORB libraries, and for programmer reference only.
Technical support for third party CORBA Java ORBs should be provided by their respective vendors. Oracle Tuxedo does not provide any technical support or documentation for third party CORBA Java ORBs.
Overview of the Security Service
The CORBA environment in the Oracle Tuxedo product offers a security model based on the CORBA Services Security Service. The Oracle Tuxedo CORBA security model implements the authentication portion of the CORBA Services Security Service.
In the CORBA environment security information is defined on a domain basis. The security level for the domain is defined in the configuration file. Client applications use the SecurityCurrent object to provide the necessary authentication information to log on to the Oracle Tuxedo domain.
The following levels of authentication are provided:
No authentication is needed; however, the client application may still authenticate itself, and may specify a username and a client application name, but no password.
The client application must authenticate itself to the Oracle Tuxedo domain and must specify a username, client application name, and application password.
In addition to the TOBJ_SYSAUTH information, the client application must provide application-specific information. If the default Oracle Tuxedo CORBA authentication service is used in the application configuration, the client application must provide a user password; otherwise, the client application provides authentication data that is interpreted by the custom authentication service in the application.
Note:
If a client application is not authenticated and the security level is TOBJ_NOAUTH, the IIOP Listener/Handler of the Oracle Tuxedo domain registers the client application with the username and client application name sent to the IIOP Listener/Handler.
In the Oracle Tuxedo CORBA security environment, only the PrincipalAuthenticator and Credentials properties on the SecurityCurrent object are supported. For a description of the SecurityLevel1::Current and SecurityLevel2::Current interfaces, see the CORBA Programming Reference in the Oracle Tuxedo online documentation.
How Security Works
Figure 4‑1 illustrates how CORBA security works in a Oracle Tuxedo domain.
Figure 4‑1 How CORBA Security Works on Oracle Tuxedo Domain
The steps are as follows:
1.
2.
3.
The client application uses the Tobj::PrincipalAuthenticator::get_auth_type() method to get the authentication level for the Oracle Tuxedo domain.
4.
5.
The client application uses the Tobj::PrincipalAuthenticator::logon() method to log on to the Oracle Tuxedo domain with the proper authentication information.
Note:
The Security Sample Application
The Security sample application demonstrates how to use password authentication. The Security sample application requires that each student using the application has an ID and a password. The Security sample application works in the following manner:
The client application has a logon() operation. This operation invokes operations on the PrincipalAuthenticator object, which is obtained as part of the process of logging on to access the domain.
The server application implements a get_student_details() operation on the Registrar object to return information about a student. After the user is authenticated, logon is complete and the get_student_details() operation accesses the student information in the database to obtain the student information needed by the client logon operation.
Note:
Figure 4‑2 illustrates the Security sample application.
Figure 4‑2 Security Sample Application
The source files for the Security sample application are located in the \samples\corba\university directory in the Oracle Tuxedo software. For information about building and running the Security sample application, see Using Security in CORBA Applications in the Oracle Tuxedo online documentation.
Development Steps
Table 4‑1 lists the development steps for writing a Oracle Tuxedo CORBA application that employs authentication security.
 
Step 1: Define the Security Level in the Configuration File
The security level for a Oracle Tuxedo domain is defined by setting the SECURITY parameter in the RESOURCES section of the configuration file to the desired security level. Table 4‑2 lists the options for the SECURITY parameter.
 
Requires that client applications provide an application password during initialization. The tmloadcf command prompts for an application password. This option maps to the TOBJ_SYSAUTH level of authentication.
In the Security sample application, the SECURITY parameter is set to APP_PW for application-level security. For information about adding security to a Oracle Tuxedo CORBA application, see Using Security in CORBA Applications in the Oracle Tuxedo online documentation.
Step 2: Write the CORBA Client Application
Write client application code that does the following:
1.
2.
3.
Uses the get_auth_type() operation of the PrincipalAuthenticator object to return the type of authentication expected by the Oracle Tuxedo domain.
Listing 4‑1 include the portions of the CORBA C++ client applications in the Security sample application that illustrate the development steps for security.
Listing 4‑1 Example of Security in a CORBA C++ Client Application
CORBA::Object_var var_security_current_oref =
bootstrap.resolve_initial_references(“SecurityCurrent”);
SecurityLevel2::Current_var var_security_current_ref =
SecurityLevel2::Current::_narrow(var_security_current_oref.in());
//Get the PrincipalAuthenticator
SecurityLevel2::PrincipalAuthenticator_var var_principal_authenticator_oref =
var_security_current_ref->principal_authenticator();
//Narrow the PrincipalAuthenticator
Tobj::PrincipalAuthenticator_var var_bea_principal_authenticator =
Tobj::PrincipalAuthenticator::_narrow (
var_principal_authenticator_oref.in());
//Determine the security level
Tobj::AuthType auth_type = var_bea_principal_authenticator->get_auth_type();
Security::AuthenticationStatus status = var_bea_principalauthenticator->logon(
user_name,
client_name,
system_password,
user_password,
0);
 

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.