19
19
from wlsdeploy .util import dictionary_utils
20
20
from wlsdeploy .util .model import Model
21
21
from wlsdeploy .util .weblogic_helper import WebLogicHelper
22
-
22
+
23
23
24
24
class Creator (object ):
25
25
"""
@@ -401,7 +401,7 @@ def _create_subfolders(self, location, model_nodes):
401
401
if self .alias_helper .requires_artificial_type_subfolder_handling (sub_location ):
402
402
self .logger .finest ('WLSDPLY-12116' , key , str (sub_location ), subfolder_nodes ,
403
403
class_name = self .__class_name , method_name = _method_name )
404
- self ._create_security_provider_mbeans (key , subfolder_nodes , location )
404
+ self ._create_security_provider_mbeans (key , subfolder_nodes , location , True )
405
405
elif len (subfolder_nodes ) != 0 :
406
406
if self .alias_helper .supports_multiple_mbean_instances (sub_location ):
407
407
self .logger .finest ('WLSDPLY-12109' , key , str (sub_location ), subfolder_nodes ,
@@ -462,7 +462,10 @@ def _delete_existing_providers(self, location):
462
462
The security realms providers in the model are processed as merge to the model. Each realm provider
463
463
section must be complete and true to the resulting domain. Any existing provider not found in the
464
464
model will be removed, and any provider in the model but not in the domain will be added. The resulting
465
- provider list will be ordered as listed in the model.
465
+ provider list will be ordered as listed in the model. If the provider type (i.e. AuthenticationProvider)
466
+ is not in the model, it is assumed no configuration or ordering is needed, and the provider is skipped.
467
+ If the provider type is in the model, but there is no MBean entry under the provider, then it is
468
+ assumed that all providers for that provider type must be removed.
466
469
467
470
For create, the default realm and default providers have been added by the weblogic base template and any
468
471
extension templates. They have default values. These providers will be removed from the domain. During
@@ -477,9 +480,8 @@ def _delete_existing_providers(self, location):
477
480
with the correct name. And the DefaultAuthenticationProvider successfully re-adds with the correct default
478
481
identity asserter.
479
482
480
- This release does not support updating the provider list. Because this means that the realms cannot be
481
- configured accurately, the security configuration is not configured. It is in the original configuration
482
- applied by the templates.
483
+ This release also supports updating the security configuration realms in both offline and online mode. This
484
+ release requires a complete list of providers as described in the first paragraph.
483
485
484
486
:param location: current context of the location pointing at the provider mbean
485
487
"""
@@ -497,9 +499,9 @@ def _delete_existing_providers(self, location):
497
499
self .wlst_helper .cd (create_path )
498
500
for existing_folder_name in existing_folder_names :
499
501
try :
502
+ self .logger .info ('WLSDPLY-12135' , existing_folder_name , wlst_base_provider_type , create_path ,
503
+ class_name = self .__class_name , method_name = _method_name )
500
504
self .wlst_helper .delete (existing_folder_name , wlst_base_provider_type )
501
- self .logger .finer ('WLSDPLY-12135' , existing_folder_name , wlst_base_provider_type , create_path ,
502
- class_name = self .__class_name , method_name = _method_name )
503
505
except BundleAwareException , bae :
504
506
ex = exception_helper .create_exception (self ._exception_type , 'WLSDPLY-12134' , existing_folder_name ,
505
507
self .wls_helper .get_weblogic_version (),
0 commit comments