gpt4 book ai didi

java - 检索数据源的 JAASAuthData

转载 作者:行者123 更新时间:2023-12-01 11:47:39 33 4
gpt4 key购买 nike

我正在使用以下脚本来检索数据源属性。

try:
for server in AdminConfig.list('Server').splitlines():
serverName = AdminConfig.showAttribute(server, 'name')
serverType = AdminConfig.showAttribute(server, 'serverType')
findIndex = serverName.find('myservers')
if findIndex > 0 and serverType == 'APPLICATION_SERVER':
dsList = AdminConfig.list('DataSource', server).splitlines()
for ds in dsList:
# Get the database details for this data source
dbName = AdminConfig.showAttribute(ds, 'jndiName')
try: propSet = AdminConfig.showAttribute(ds, 'propertySet')
except:
print 'Error getting propertySet:'
else:
propList = AdminConfig.list('J2EEResourceProperty', propSet).splitlines()
for prop in propList:
print AdminConfig.showAttribute(prop, 'name') + '-' + AdminConfig.showAttribute(prop, 'value')
# Get the jaas authentication details for this data source
try: jaasAuthDataSet = AdminConfig.list("JAASAuthData", ds).splitlines()
except:
print 'Error getting Jaas Authentication data'
else:
for jaasAuthData in jaasAuthDataSet:
print AdminConfig.showAttribute(jaasAuthData, "alias")
except AdminException, ex:
print 'Admin Config not available:' + ex
return None

但是,在数据源属性集中,我无法获取 authdatalias 属性,该属性定义组件管理的 authdata 别名。

我还尝试使用以下方法获取DatasourceJAASAuthData,但没有任何结果:

AdminConfig.list("JAASAuthData", ds).splitlines()

我可以使用以下命令检索所有 JAASAuthData 的列表:

for jsData in AdminConfig.list("JAASAuthData").splitlines():
print AdminConfig.showAttribute(jsData, "alias") + "-" + AdminConfig.showAttribute(jsData, "userId")

有关如何检索此信息的任何指示都会有所帮助。谢谢。

最佳答案

我有一个解决你的问题的方法,但这是我创建的一个函数,它对我有用。我的脚本正在 security.xml 中搜索并解密密码。

def search ( alias, file ):
list = []
list.append(alias)
f=open(file)
lines=f.readlines()
for line in lines:
poz = line.find('/'+alias)
if poz > 0:
Line = line
break

user = Line[Line.find('userId=')+8:Line.find('\" password')]
list.append(user)
password = Line[Line.find('password=')+15:Line.find('\" description')]

password = decrypt(password)
list.append(password)
description = Line[Line.find('description=')+13:Line.find('\"/>')]
list.append(description)
authAliasList.append(list)

def decrypt ( word ):
if not len(word) > 1: exit()
word = word.replace(':', '')
value1 = binascii.a2b_base64(word)
value2 = '_' * len(value1)
out = ''
for a, b in zip(value1, value2):
out = ''.join([out, chr(ord(a) ^ ord(b))])
return out

#===============================================
#MAIN
#===============================================

#AuthAlias is the Authentication Alias from Websphere.
#secureFile is the path for you security.xml file
search ( AuthAlias, secureFile )

您将通过以下功能获得身份验证别名:

dbConnList = AdminConfig.list('DataSource', scopeID).split(lineSeparator)
if (len(dbConnList) > 0) :
for dbConn in dbConnList:
AuthAlias= AdminConfig.showAttribute(dbConn, "authDataAlias")

该脚本创建您的 AuthAlias 属性列表。

authAliasList=[name of AuthAlias, user, password, description]

如果您有任何问题,请告诉我。我对代码做了一些修改以在您的范围内使用,但我没有时间测试它。所以我正在等待您的问题。

关于java - 检索数据源的 JAASAuthData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29029255/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com