Я не являлся администратором, однако я работал с пользователем JAAS. Следуя сценарию, он может дать вам достаточно советов, как это сделать.
def dbAuthenticationAlias():
print 'Create JAAS - J2C Authentication Alias'
#--------------------------------------------------------------
# Check if JAAS - J2C Authentication Alias exists
#--------------------------------------------------------------
global dbuseralias
# generate user alias
dbuseralias = nodeName + '/' + dbuser
# get context
sec = AdminConfig.getid('/Cell:%s/Security:/' % cellName)
#Get all J2C Authentication Aliases (they are separated by \n
j2c = AdminConfig.list('JAASAuthData',sec)
found = 0
if len(j2c) > 0 :
for j2cUserId in j2c.splitlines():
if AdminConfig.showAttribute(j2cUserId,"alias") == dbuseralias:
found = 1
#--------------------------------------------------------------
# Create a JAAS - J2C Authentication Alias
#--------------------------------------------------------------
if found == 0 :
print 'user not found, creating'
# create structure for J2C Authentication Alias
jaasAttrs = [['alias', dbuseralias],['userId', dbuser],['password',dbpassword]]
#create J2C Authentication Alias
AdminConfig.create('JAASAuthData', sec, jaasAttrs)
print 'user %s created' % dbuseralias
#saving
adminConfigSave()
else:
print 'user found'
У меня до сих пор были проблемы с поиском, где должна быть сделана указанная настройка. Поэтому я использовал следующие команды в инструменте wsadmin для получения текущей конфигурации.
sec = AdminConfig.getid('/Cell:%s/Security:/' % cellName)
#shows all attributes for the config element given by an ID
print AdminConfig.show(sec)
#shows all attributes and expands the attributes where necessary
print AdminConfig.showall(sec)
Вместо того, чтобы извлекать настройки безопасности, вы также можете извлекать настройки сервера и впоследствии углубляться в дерево конфигурации.
srv = AdminConfig.getid('/Node:%s/Server:%s/' % (node,server))
#get the process definition from server config
prcDef = AdminConfig.list('ProcessDef',srv)
#get JVM config from process definition
jvm= AdminConfig.list('JavaVirtualMachine',prcDef)