忘记或者丢失WebLogic管理员密码这样的事虽然不常碰到,但是也偶尔会有,如果碰着是你的生产环境或者其他重要环境,还是挺头疼的。但实际上也是有办法。
如果是WebLogic 8.1,那么照着以下的步骤做就可以了。
1. cd到你的域目录(domain home),如C:\bea\wls816\user_projects\domains\my_domain
2. 运行java -cp \weblogic81\server\lib\weblogic.jar weblogic.security.utils.AdminAccount adminuser adminpassword .
注意:你可以选择a). 像这里的这条命令一样,设置你WebLogic8.1产品安装路径下weblogic81\server\lib\weblogic.jar的全路径来设置CLASSPATH;b). 也可以在命令行窗口通过运行域目录下的setEnv.cmd/sh来获得已经设置好的CLASSPATH。
参数第一个adminuser是你增加一个新用户的用户名;第二个参数adminpassword是该新用户的密码;第三个参数(一个.)是指当前目录(域目录)
3. rm myserver/ldap/DefaultAuthenticatormyrealmInit.initialized (Windows是del)
4. rm boot.properties (如果有的话)
5. 重新启动你的Server(你也可以选择把刚才的新帐号和密码写入一个新的boot.properties文件后再启动),然后你可以用新帐号登录Admin Console,并重置原帐号的密码。
如果是WebLogic 9或者10,做法类似,步骤如下:
1. cd到你的域目录下的security,如C:\bea\wls103\user_projects\domains\my_domain\security
2. rm DefaultAuthenticatorInit.ldift
3. 运行java -cp
这步跟上边WebLogic 8.1的第2步是一样的,参考上面的说明。
这步会创建一个新的DefaultAuthenticatorInit.ldift文件
4. cd到/servers//data/ldap
5. rm DefaultAuthenticatormyrealmInit.initialized
6. 重启你的Server,用新帐号登录Admin Console,然后你就可以重置原帐号的密码了。
还有WebLogic本身也提供了一个比较简单的命令,但是这个命令是正向而不是反向的,即由密码到加密字符串,而不是解密。你需要用尝试常用的密码,然后比较密码加密串是不是boot.properties里面的值。该命令用法如下:
首先,进入你的域,执行setDomainEnv.cmd/sh(8.1好像是setEnv.cmd/sh),得到环境变量设置后,进入域目录,运行:
java weblogic.security.Encrypt [ password ]
系统即会显示加密后的串是什么。如果你不想运行setEnv,你可以直接运行
java -cp ......./weblogic.jar -Dweblogic.RootDirectory=DOMAIN_HOME_DIR weblogic.security.Encrypt [ password ]
该用法不涉及删除文件,显得很只读很保险,值得一试。
weblogic安装后,很久不用,忘记访问控制台的用户名或者密码,可通过以下步骤来重置用户名密码。
实验版本:WebLogic Server 10
说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录
例如我的做测试的域的根目录 DOMAIN_HOME=D:/bea10/user_projects/domains/testcluster_domain
1.为了保证操作安全,备份%DOMAIN_HOME%/security/DefaultAuthenticatorInit.ldift
2. 进入%DOMAIN_HOME%/security目录,执行下列命令:
java -classpath D:/bea10/wlserver_10.0/server/lib/weblogic.jar weblogic.security.utils.AdminAccount .
例如:
打开一个cmd窗口,进入D:/bea/user_projects/domains/base_domain/security
执行java -classpath D:/bea/wlserver_10.3/server/lib/weblogic.jar weblogic.security.utils.AdminAccount weblogic weblogic .
特点注意最后有个“ .”,一个空格和一个点。
此命令将生成新的DefaultAuthenticatorInit.ldift文件覆盖原来的。
3. 进入管理服务器的AdminServer目录,如:%DOMAIN_HOME%/servers/AdminServer。将其中的data目录重命名,如:data_old。或者备份到别的地方。
4. 修改管理服务器的boot.properties文件,如:%DOMAIN_HOME%/servers/AdminServer/security /boot.properties,修改其中的用户名与密码(用明文,第一次启动服务器时明文将被加密),要和上面命令
中的用户名密码一致。
例:修改后:
username=weblogic
password=weblogic
5. 重新启动服务器后,就可以使用用户weblogic登录管理控制台了。
第一次启动后,%DOMAIN_HOME%/servers/AdminServer/security/boot.properties中的用户名密码被加密为:
#Sun Nov 28 13:57:12 CST 2010
password={3DES}6s4Uzlufh0f5khzwa3t9pg/=/=
username={3DES}6s4Uzlufh0f5khzwa3t9pg/=/=