weblogic账号或密码错误

假如说你的weblogic的账号或者密码错误,会导致你的AdminServer无法启动,控制台就无法登陆,这个时候我们就需要创建新的账号和密码来管理我们的控制台了~

1. 备份

%DOMAIN_HOME%/security下的DefaultAuthenticatorInit.ldift文件,和%DOMAIN_HOME%servers/AdminServer/security目录下的boot.properties文件,这样如果下列步骤操作失败还能还原回去。

[zhuying@sor-sys security]$ pwd
/home/zhuying/opt/bea/user_projects/domains/test_domain/security
[zhuying@sor-sys security]$ cp DefaultAuthenticatorInit.ldift DefaultAuthenticatorInit.ldift.bak

2. 运行  java -cp $BEA_HOME/wlserver_10.3/server/lib/weblogic.jar weblogic.security.utils.AdminAccount <新用户名> <新密码>(注意最后有个点号的,点号之前有空格

[zhuying@sor-sys bin]$ pwd
/home/zhuying/opt/bea/jdk160_05/bin
[zhuying@sor-sys bin]$ ./java /home/zhuying/opt/bea/wlserver_10.3/server/lib/weblogic.jar weblogic.security.utils.AdminAccount Adminzy *******  .

3. 执行完后在当前目录会生成一个新的DefaultAuthenticatorInit.ldift文件,然后替换原来的%DOMAIN_HOME%/security/DefaultAuthenticatorInit.ldift文件。

[zhuying@sor-sys bin]$ pwd
/home/zhuying/opt/bea/jdk160_05/bin

[zhuying@sor-sys bin]$ mv DefaultAuthenticatorInit.ldift /home/zhuying/opt/bea/user_projects/domains/test_domain/security/

4. 从%DOMAIN_HOME%/servers/AdminServer/data/ldap/子目录中删除初始化状态文件DefaultAuthenticatormyrealmInit.initialized,并更新boot.properties。

[zhuying@sor-sys ldap]$ rm DefaultAuthenticatormyrealmInit.initialized
[zhuying@sor-sys ldap]$ pwd
/home/zhuying/opt/bea/user_projects/domains/test_domain/servers/Admin-test/data/ldap

文件boot.properties的格式:

username=用户名
password=密码 

5. 运行startWebLogic.sh,启动过程中会让你输入用户名和密码,输入新建立的那个用户名和密码。

6. 用新的用户名密码登录管理控制台,在“安全领域”里点击“myrealm”,在用户和组里,找到之前的那个用户,修改密码,保存,那么以后可以继续使用原来的用户名和密码登录




如果你想要使用原来的账号,那么就需要将原来的DefaultAuthenticatorInit.ldift文件还原,并将初始化状态文件删除~

[zhuying@sor-sys bin]$ pwd

[zhuying@sor-sys bin]$/home/zhuying/opt/bea/user_projects/domains/test_domain/security/

[zhuying@sor-sys bin]$ mv DefaultAuthenticatorInit.ldift.bakDefaultAuthenticatorInit.ldift

删除初始化状态文件:
[zhuying@sor-sys bin]$ cd /home/zhuying/opt/bea/user_projects/domains/test_domain/servers/Admin-test/data/ldap

[zhuying@sor-sys ldap]$ rm DefaultAuthenticatormyrealmInit.initialized

7. 重启服务器,现在不用输入用户名密码了,成功启动后,weblogic会加密用户密码的

注意:

weblogic本身也提供了一个简单的命令,但是这个命令是正向的而不是反向的,即由密码到加密字符串而不是解密。你需要用控制台登录密码,然后比较密码加密后的字符串是不是boot.properties里面的值。该命令用法如下:

首先进入域,执行setDomainEnv.sh,得到环境变量设置后,进入域目录,运行:

java weblogic.security.Encrypt  ******** 【********代表的是你控制台的密码】

理论上应该显示你加密后的字符串,但是系统提示以下报错~

Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/security/Encrypt
Caused by: java.lang.ClassNotFoundException: weblogic.security.Encrypt
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

下面我们换另一种方法,不用执行setDomainEnv.sh,直接运行:

[zhuying@sor-sys bin]$ pwd
/home/zhuying/opt/bea/jdk160_05/bin

[zhuying@sor-sys bin]$ ./java -cp /home/zhuying/opt/bea/wlserver_10.3/server/lib/weblogic.jar -Dweblogic.RootDirectory=/home/zhuying/opt/bea/user_projects/domains/zy_domain/ weblogic.security.Encrypt 12345678

{3DES}c+Sk1+Y8rQz+AWUnbzQMvw==




你可能感兴趣的:(名医小诊所,中间件)