Назад | Перейти на главную страницу

Сброс пароля администратора WebLogic

Я столкнулся с проблемой при сбросе пароля администратора weblogic. Ниже приведены шаги, которые я выполнил последовательно. Пожалуйста, помогите понять, почему это не работает таким образом

У меня есть 2 управляемых экземпляра, работающих на двух разных компьютерах.

Step 1. выключить экземпляр сервера администратора (я не отключал диспетчер узлов и другие 2 экземпляра управляющего сервера

Step 2. Установите переменные среды

cd $DOMAIN_HOME/bin

. ./setDomainEnv.sh

Step 3. затем выполнили команду ниже, чтобы создать новый пароль

cd ../security
mv DefaultAuthenticatorInit.ldift oldDefaultAuthenticator
java weblogic.security.utils.AdminAccount weblogic new_password . 

Step 4. сделал резервную копию существующих boot.properties файл и создал новый файл. Также заархивирован каталог данных админ-сервера. создал новый boot.properties файл со следующей конфигурацией

с простым текстом имени пользователя (weblogic_admin) и паролем (new_password).

cd ../servers/AdminServer
mv data data_old
cd security/
mv boot.properties oldboot.properties 

Шаг 5. Затем я перезапустил админ-сервер. Сервер администратора успешно перезапущен, и я смог войти в консоль администратора с новым именем пользователя и паролем. Проблема возникла, когда я попытался отключить сервер администратора. когда я выполняю sh stopWeblogicAdmin.sh, выполняется следующее исключение. Но, если я убью процесс административного сервера, я смогу запустить административный сервер без каких-либо проблем. и я также могу войти на сервер. Я также могу остановить и начать управлять экземплярами сервера через консоль администратора. Но почему он терпит неудачу, только когда я пытаюсь остановиться. Может ли кто-нибудь мне в этом помочь?

Stopping Weblogic Server...

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Connecting to t3://jipsl13t:12001 with userid weblogic_admin ...
This Exception occurred at Fri Jan 18 12:20:09 GMT-00:00 2013.
javax.naming.AuthenticationException [Root exception is java.lang.SecurityException: User: weblogic_admin, failed to be authenticated.]
        at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:42)
        at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:788)
        at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLInitialContextFactoryDelegate.java:682)
        at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:469)
        at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:376)
        at weblogic.jndi.Environment.getContext(Environment.java:315)
        at weblogic.jndi.Environment.getContext(Environment.java:285)
        at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
        at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
        at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
        at javax.naming.InitialContext.init(InitialContext.java:223)
        at javax.naming.InitialContext.<init>(InitialContext.java:197)
        at weblogic.management.scripting.WLSTHelper.populateInitialContext(WLSTHelper.java:520)
        at weblogic.management.scripting.WLSTHelper.initDeprecatedConnection(WLSTHelper.java:573)
        at weblogic.management.scripting.WLSTHelper.initConnections(WLSTHelper.java:313)
        at weblogic.management.scripting.WLSTHelper.connect(WLSTHelper.java:203)
        at weblogic.management.scripting.WLScriptContext.connect(WLScriptContext.java:61)
        at weblogic.management.scripting.utils.WLSTUtil.initializeOnlineWLST(WLSTUtil.java:147)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.python.core.PyReflectedFunction.__call__(Unknown Source)
        at org.python.core.PyMethod.__call__(Unknown Source)
        at org.python.core.PyObject.__call__(Unknown Source)
        at org.python.core.PyObject.invoke(Unknown Source)
        at org.python.pycode._pyx4.connect$1(<iostream>:16)
        at org.python.pycode._pyx4.call_function(<iostream>)
        at org.python.core.PyTableCode.call(Unknown Source)
        at org.python.core.PyTableCode.call(Unknown Source)
        at org.python.core.PyFunction.__call__(Unknown Source)
        at org.python.pycode._pyx15.f$0(/product/jip/jipsl11t/wls/eni132_domain/shutdown.py:6)
        at org.python.pycode._pyx15.call_function(/product/tsm/jipsl11t/wls/eni132_domain/shutdown.py)
        at org.python.core.PyTableCode.call(Unknown Source)
        at org.python.core.PyCode.call(Unknown Source)
        at org.python.core.Py.runCode(Unknown Source)
        at org.python.util.PythonInterpreter.execfile(Unknown Source)
        at weblogic.management.scripting.WLST.main(WLST.java:124)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at weblogic.WLST.main(WLST.java:29)
Caused by: java.lang.SecurityException: User: weblogic_admin, failed to be authenticated.
        at weblogic.common.internal.RMIBootServiceImpl.authenticate(RMIBootServiceImpl.java:116)
        at weblogic.common.internal.RMIBootServiceImpl_WLSkel.invoke(Unknown Source)
        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
        at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
        at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Problem invoking WLST - Traceback (innermost last):
  File "/product/jip/jipsl11t/wls/eni132_domain/shutdown.py", line 6, in ?
  File "<iostream>", line 22, in connect
  File "<iostream>", line 646, in raiseWLSTException
WLSTException: Error occured while performing connect : User: weblogic_admin, failed to be authenticated.
Use dumpStack() to view the full stacktrace

Done
Stopping Derby Server...

Похоже, вы пытаетесь остановить WebLogic с помощью другого пользователя (отличного от того, который был задан процедурой с сохранением пароля).

Пожалуйста, проверьте, ваш ли сценарий остановки или stopWeblogicAdmin.sh есть пользователь weblogic_admin и его пароль.

Затем измените его на пользователя weblogic и новый пароль.

Это действительно ожидаемое поведение. Управляемый сервер реплицирует локальный LDAP с Admin Server во время запуска, поэтому на ваших управляемых серверах действительно есть старый пользователь weblogic. Кстати, есть способы расшифровать пароли, хранящиеся в boot.properties, если у вас есть данные в SerializedSystemIni.dat, чтобы вы могли сделать это вместо повторного создания главного пользователя.