99from oracle .weblogic .deploy .util import PyOrderedDict as OrderedDict
1010
1111from wlsdeploy .aliases .alias_constants import PASSWORD_TOKEN
12+ from wlsdeploy .aliases .location_context import LocationContext
1213from wlsdeploy .aliases .model_constants import CROSS_DOMAIN
1314from wlsdeploy .aliases .model_constants import METHOD
1415from wlsdeploy .aliases .model_constants import PATH
2021from wlsdeploy .aliases .model_constants import REMOTE_RESOURCE
2122from wlsdeploy .aliases .model_constants import REMOTE_USER
2223from wlsdeploy .aliases .model_constants import USER
24+ from wlsdeploy .aliases .model_constants import WLS_USER_PASSWORD_CREDENTIAL_MAPPINGS
2325from wlsdeploy .exception .exception_types import ExceptionType
2426from wlsdeploy .logging .platform_logger import PlatformLogger
2527from wlsdeploy .util import string_utils
@@ -190,10 +192,14 @@ def _get_resource_name_dict(self, resource_name):
190192class DefaultCredentialMapperLdift (LdiftBase ):
191193 __class_name = 'DefaultCredentialMapperLdift'
192194
193- def __init__ (self , ldift_file_name , model_context , exception_type = ExceptionType .DISCOVER , download_temporary_dir = None ):
195+ def __init__ (self , ldift_file_name , model_context , aliases , credential_injector ,
196+ exception_type = ExceptionType .DISCOVER , download_temporary_dir = None ):
197+
194198 LdiftBase .__init__ (self , model_context , exception_type , download_temporary_dir = download_temporary_dir )
195199
196200 self ._ldift_file_name = ldift_file_name
201+ self ._aliases = aliases
202+ self ._credential_injector = credential_injector
197203 self ._credential_map_ldift_entries , self ._resource_map_ldift_entries = self .read_ldift_file (ldift_file_name )
198204
199205 # Override
@@ -229,8 +235,8 @@ def get_cross_domain_dictionary(self):
229235 continue
230236
231237 resource_map_entries = self ._find_resource_map_entries_for_credential_map_entry (credential_map_entry )
232- entry_name = 'CrossDomainCredentialMap -%s' % count
233- entry_payload = self ._get_cross_domain_model_entry (credential_map_entry , resource_map_entries )
238+ entry_name = 'Map -%s' % count
239+ entry_payload = self ._get_cross_domain_model_entry (credential_map_entry , resource_map_entries , entry_name )
234240 result [entry_name ] = entry_payload
235241 count += 1
236242
@@ -248,8 +254,8 @@ def get_remote_resource_dictionary(self):
248254 continue
249255
250256 resource_map_entries = self ._find_resource_map_entries_for_credential_map_entry (credential_map_entry )
251- entry_name = 'RemoteResourceCredentialMap -%s' % count
252- entry_payload = self ._get_remote_resource_model_entry (credential_map_entry , resource_map_entries )
257+ entry_name = 'Map -%s' % count
258+ entry_payload = self ._get_remote_resource_model_entry (credential_map_entry , resource_map_entries , entry_name )
253259 result [entry_name ] = entry_payload
254260 count += 1
255261
@@ -270,7 +276,7 @@ def _find_resource_map_entries_for_credential_map_entry(self, credential_map_ldi
270276 _logger .exiting (class_name = self .__class_name , method_name = _method_name , result = resource_map_ldift_entries )
271277 return resource_map_ldift_entries
272278
273- def _get_cross_domain_model_entry (self , credential_map_ldift_entry , resource_map_ldift_entries ):
279+ def _get_cross_domain_model_entry (self , credential_map_ldift_entry , resource_map_ldift_entries , entry_name ):
274280 _method_name = '_get_cross_domain_model_entry'
275281 _logger .entering (credential_map_ldift_entry , resource_map_ldift_entries ,
276282 class_name = self .__class_name , method_name = _method_name )
@@ -291,10 +297,18 @@ def _get_cross_domain_model_entry(self, credential_map_ldift_entry, resource_map
291297 result [REMOTE_USER ] = remote_user
292298 result [REMOTE_PASSWORD ] = remote_password
293299
300+ if self ._credential_injector is not None :
301+ location = LocationContext ().append_location (WLS_USER_PASSWORD_CREDENTIAL_MAPPINGS ) \
302+ .append_location (CROSS_DOMAIN )
303+ name_token = self ._aliases .get_name_token (location )
304+ location .add_name_token (name_token , entry_name )
305+ self ._credential_injector .check_and_tokenize (result , REMOTE_USER , location )
306+ self ._credential_injector .check_and_tokenize (result , REMOTE_PASSWORD , location )
307+
294308 _logger .exiting (class_name = self .__class_name , method_name = _method_name )
295309 return result
296310
297- def _get_remote_resource_model_entry (self , credential_map_ldift_entry , resource_map_ldift_entries ):
311+ def _get_remote_resource_model_entry (self , credential_map_ldift_entry , resource_map_ldift_entries , entry_name ):
298312 _method_name = '_get_remote_resource_model_entry'
299313 _logger .entering (credential_map_ldift_entry , resource_map_ldift_entries ,
300314 class_name = self .__class_name , method_name = _method_name )
@@ -327,6 +341,14 @@ def _get_remote_resource_model_entry(self, credential_map_ldift_entry, resource_
327341 result [REMOTE_USER ] = remote_user
328342 result [REMOTE_PASSWORD ] = remote_password
329343
344+ if self ._credential_injector is not None :
345+ location = LocationContext ().append_location (WLS_USER_PASSWORD_CREDENTIAL_MAPPINGS ) \
346+ .append_location (REMOTE_RESOURCE )
347+ name_token = self ._aliases .get_name_token (location )
348+ location .add_name_token (name_token , entry_name )
349+ self ._credential_injector .check_and_tokenize (result , REMOTE_USER , location )
350+ self ._credential_injector .check_and_tokenize (result , REMOTE_PASSWORD , location )
351+
330352 _logger .exiting (class_name = self .__class_name , method_name = _method_name , result = result )
331353 return result
332354
0 commit comments