Добавление пользователя консоли в WebSphere в jython - PullRequest
0 голосов
/ 09 февраля 2010

Мне нужно добавить административных пользователей в консоль WebSphere с помощью скрипта Jython. Я попытался включить параметр «Записывать команды помощи командам», но он не регистрировал добавление пользователя. Это действительно регистрировало другие вещи, хотя.

Мы настроили много серверов и пытаемся составить сценарий всего процесса установки.

Ура, Konrad

1 Ответ

4 голосов
/ 11 февраля 2010

Я не являлся администратором, однако я работал с пользователем 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) 
...