如何使用java阅读weblogic配置的myrealm用户和密码

时间:2016-06-23 03:37:30

标签: java weblogic weblogic11g

我正在尝试读取在myrealm中配置的用户名和密码。有什么办法吗?或者如果我在myrealm中创建用户将要存储的用户。我可以找到文件位置或文件名。

List all the user in weblogic by java中提供了获取用户名的代码 链接。但我也期待密码。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法。它仍然需要您的weblogic密码,但它可以让您访问所需的所有用户。

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();  
    }   
  }
}

提到here