biemond/biemond-orawls

View on GitHub
files/providers/wls_group/index.py.erb

Summary

Maintainability
Test Coverage

from weblogic.management.security.authentication import GroupReaderMBean

realmName    = cmo.getSecurityConfiguration().getDefaultRealm()
authProvider = realmName.getAuthenticationProviders()

f = open_file("name;realm;authenticationprovider;users;description;domain")
for i in authProvider:
  if isinstance(i,GroupReaderMBean) and "ldap" not in i.getProviderClassName().lower():

    groupReader = i
    authName    = i.getName()

    cursor = i.listGroups('*',0)
    while groupReader.haveCurrent(cursor):
      group       = groupReader.getCurrentName(cursor)
      description = i.getGroupDescription(group)
      usergroup   = i.listAllUsersInGroup(group,"*",0)
      users       = []
      for user in usergroup:
        users.append(user)

      add_index_entry(f, [domain+'/'+group, realmName.getName(), authName,','.join(users),description,domain])
      groupReader.advance(cursor)

    groupReader.close(cursor)

f.close()
report_back_success()