WAS 7.0使用wsadmin为用户创建用户和映射角色

时间:2014-06-22 14:45:48

标签: websphere jython websphere-8 wsadmin

我需要创建用户ID并为某些用户分配Admin角色,我正在尝试通过Jython脚本执行此操作,因为它将加快进程并节省时间。 所以,我已经创建了下面的Jython脚本来实现它。

脚本

import sys


filename="C:\Users\harish\Desktop\scripts\input.txt"
fileread = open(filename, 'r')

filelines = fileread.readlines()  

for row in filelines:  
   column=row.strip().split(';')
   user_name=column[0]
   print user_name  
   pass_word=column[1]  
   first=column[2]  
   last=column[3]  
   AdminTask.createUser(['-uid',user_name, '-password', pass_word, '-confirmPassword', pass_word, '-  cn', first, '-sn', last ])

   AdminTask.mapUsersToAdminRole(['-roleName','Administrator','-userids',user_name])

   AdminConfig.save()

   print 'Userid creation completed for', user_name

fileread.close()

脚本运行正常并且不会引发任何错误。但是,用户无法登录WAS管理控制台,他们只能通过单击“用户”页面上的“确定”保存配置后才能执行此操作。和群组“ - > “管理用户角色” - >

有人可以让我知道在使用wsadmin时我在这里失踪了什么,或者还有什么我需要做的才能完成任务吗?

我正在研究WAS 8.5.5.0版本。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我认为您需要将此代码添加到脚本的末尾(而不是在for循环中)。这将刷新安全配置。

agmBean = AdminControl.queryNames('type=AuthorizationGroupManager,process=dmgr,*')
AdminControl.invoke(agmBean, 'refreshAll')

这假设您正在使用网络部署process=dmgr。您可能需要更改过程。