用java列出weblogic中的所有用户

有谁知道如何列出java中的所有weblogic用户? 例如,安全领域有5个用户,我希望得到所有这些用户。 我该怎么办?

这很简单。 为了将来参考,如果你想查找类似“如何使用weblogic和Java做X …”,请在谷歌搜索中使用JMX 。 这是weblogic奇迹的一个例子。 请注意,您需要在代码中更改您的URL和用户/密码:

 import javax.naming.*; import javax.management.MBeanInfo; import weblogic.jndi.Environment; import weblogic.management.runtime.ServerRuntimeMBean; import weblogic.security.providers.authentication.DefaultAuthenticatorMBean; import weblogic.management.security.authentication.UserReaderMBean; import weblogic.management.security.authentication.GroupReaderMBean; import weblogic.management.MBeanHome; import weblogic.management.WebLogicMBean; import weblogic.management.tools.Info; import weblogic.management.Helper; import weblogic.management.security.authentication.*; public class ListUsersAndGroups { public static void main(String[] args) { MBeanHome home = null; try { Environment env = new Environment(); env.setProviderUrl(“t3://localhost:7001?); env.setSecurityPrincipal(“weblogic”); env.setSecurityCredentials(“weblogic”); Context ctx = env.getInitialContext(); home = (MBeanHome)ctx.lookup(“weblogic.management.adminhome”); weblogic.management.security.RealmMBean rmBean = home.getActiveDomain().getSecurityConfiguration().getDefaultRealm(); AuthenticationProviderMBean[] authenticationBeans = rmBean.getAuthenticationProviders(); DefaultAuthenticatorMBean defaultAuthenticationMBean = (DefaultAuthenticatorMBean)authenticationBeans[0]; UserReaderMBean userReaderMBean = (UserReaderMBean)defaultAuthenticationMBean; String userCurName = userReaderMBean.listUsers(“*”, 100); while (userReaderMBean.haveCurrent(userCurName) ) { String user = userReaderMBean.getCurrentName(userCurName); System.out.println(“\n User: ” + user); userReaderMBean.advance(userCurName); } } catch (Exception e) { e.printStackTrace(); } } } 

编辑


没有任何方法可以知道用户/密码来查找用户。 如果这听起来像是一个更好的选择,你也可以通过WLST脚本来完成。 在这里查看示例。

最后但并非最不重要的是,您可以在嵌入式ldap for Weblogic上设置匿名绑定,以允许匿名查找(通常不建议用于生产)。 此示例显示如何使用外部客户端执行此操作: Weblogic w / External Ldap Client

关键设置是:

 Your Domain -> Security -> Embedded LDAP Change the (default generated) password (for example: weblogic) Enable “Anonymous Bind Allowed”