我需要使用 Jython 脚本将管理用户添加到 WebSphere 控制台。我试图打开“记录命令辅助命令”首选项,但它没有记录添加用户。它确实记录了其他内容。
我们设置了很多服务器,并尝试编写整个设置过程的脚本。
干杯,康拉德
我还没有完成管理用户,但是,我已经完成了 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)