Weblogic:Java调用Weblogic API创建用户和修改密码
2013-05-30 16:53
477 查看
介绍
如果要使用Weblogic内嵌的LDAP来做验证,普通用户无法直接修改自己的密码,需要管理员登录weblogic console才能进行修改。weblogic提供api使用java代码来修改。
代码
如果要使用Weblogic内嵌的LDAP来做验证,普通用户无法直接修改自己的密码,需要管理员登录weblogic console才能进行修改。weblogic提供api使用java代码来修改。
代码
import java.io.IOException; import java.net.MalformedURLException; import java.util.Hashtable; import javax.management.InstanceNotFoundException; import javax.management.MBeanException; import javax.management.MBeanServerConnection; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import javax.management.ReflectionException; import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; import javax.naming.Context; public class DefaultAuthenticatorAdapter { private static MBeanServerConnection connection; private static JMXConnector connector; private static ObjectName service; static { try { service = new ObjectName("Security:Name=myrealmDefaultAuthenticator"); } catch (MalformedObjectNameException e) { e.printStackTrace(); } } public void connection(String hostname, String portString, String username, String password) throws IOException, MalformedURLException { String protocol = "t3"; Integer portInteger = Integer.valueOf(portString); int port = portInteger.intValue(); String jndiroot = "/jndi/"; String mserver = "weblogic.management.mbeanservers.domainruntime"; JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, port, jndiroot + mserver); Hashtable h = new Hashtable(); h.put(Context.SECURITY_PRINCIPAL, username); h.put(Context.SECURITY_CREDENTIALS, password); h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote"); h.put("jmx.remote.x.request.waiting.timeout", new Long(10000)); connector = JMXConnectorFactory.connect(serviceURL, h); connection = connector.getMBeanServerConnection(); } public void createUser(String username, String password, String description) throws InstanceNotFoundException, MBeanException, ReflectionException, IOException { Object[] params = { username, password, description }; String[] signature = { "java.lang.String", "java.lang.String", "java.lang.String" }; connection.invoke(service, "createUser", params, signature); } public void changeUserPassword(String username, String oldPassword, String newPassword) { try { Object[] params = { username, oldPassword, newPassword }; String[] signature = { "java.lang.String", "java.lang.String", "java.lang.String" }; connection.invoke(service, "changeUserPassword", params, signature); } catch (InstanceNotFoundException e) { e.printStackTrace(); } catch (MBeanException e) { String message = e.getMessage(); System.out.println("message = " + message); } catch (ReflectionException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) throws Exception { String hostname = "10.1.36.47"; String portString = "7101"; String username = "weblogic"; String password = "welcome1"; DefaultAuthenticatorAdapter c = new DefaultAuthenticatorAdapter(); c.connection(hostname, portString, username, password); c.createUser("test1", "welcome1", "dddddddddddddddddd"); //c.changeUserPassword("test1", "welcome3", "welcome4"); connector.close(); } }
相关文章推荐
- RUBY实践—带密码加密的用户创建及修改
- 通过VMWare的Webservice API创建ESX/ESXi用户的JAVA源码
- linux创建用户、设置密码、修改用户、删除用户
- Oracle中管理用户(创建用户,用户加锁,用户解锁,修改用户密码,授权登录权限,撤销登录权限,授权连接权限,conn命令,创建角色,并为角色赋权限,将角色赋给指定用户)
- mysql修改密码 创建数据库 添加新用户
- 直接调用ASPNETDB数据库中(aspnet_Membership_SetPassword)存储过程来修改 用户密码
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- 修改ASP.NET成员提供程序,配置简单密码规则创建用户
- oracle 创建用户,表空间和修改密码等语句
- Mysq用户创建、修改密码、授权命令
- OS X下mysql创建用户与修改密码
- 使用OPENLDAP C API修改 win2003 AD域(Active Directory)用户密码
- linux创建用户、设置密码、修改用户、删除用户:
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- Oracle 创建用户 修改用户密码 授权命令
- Centos 创建用户、修改密码等操作
- linux创建用户、设置密码、修改用户、删除用户
- 通过JAVA开发的修改AD用户的工具,修改AD用户密码时报错