【问题标题】:WSO2 Tenant Updation fails v5.5.0WSO2 租户更新失败 v5.5.0
【发布时间】:2019-04-24 19:56:22
【问题描述】:

迁移到 v5.5.0 后,更新此租户时会出现此错误。其他租户工作正常。并且租户无法登录。 我已禁用 orderId 95 的 org.wso2.carbon.identity.governance.listener.IdentityMgtEventListener。然后我可以登录租户。

我还找到了relative question,发现租户的 Resident Identity Provider 正在抛出“Error loading Resident Identity Provider”,并且 Keystore 列表页面显示“Error occurred null”。

答案表明,

万一其他人碰到这个 - 问题似乎是如果你使用 JKS 密钥库中的“wso2carbon”以外的证书别名 更改 SSL 证书。

作为 WSO2 的新手,我似乎无法理解这意味着什么。在迁移过程中,我使用了旧版本(5.1.0)中的相同 wso2carbon.jks 文件。还发现旧版本也存在相同的 Resident Identity Provider 和 Keystore 列表页面错误。

如何解决此错误?我可以看到该租户的密钥库不可用。如何为租户创建密钥库?

{org.wso2.carbon.tenant.mgt.util.TenantMgtUtil} -  Error in adding
claims to the user.  org.wso2.carbon.user.core.UserStoreException:
Error when handling event : PRE_SET_USER_CLAIMS   at
org.wso2.carbon.identity.governance.listener.IdentityMgtEventListener.handleEvent(IdentityMgtEventListener.java:619)
  at
org.wso2.carbon.identity.governance.listener.IdentityMgtEventListener.handleEvent(IdentityMgtEventListener.java:572)
  at
org.wso2.carbon.identity.governance.listener.IdentityMgtEventListener.doPreSetUserClaimValues(IdentityMgtEventListener.java:142)
  at
org.wso2.carbon.user.core.common.AbstractUserStoreManager.setUserClaimValues(AbstractUserStoreManager.java:1430)
  at
org.wso2.carbon.tenant.mgt.util.TenantMgtUtil.addClaimsToUserStoreManager(TenantMgtUtil.java:349)
  at
org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService.updateTenant(TenantMgtAdminService.java:417)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)     at
org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
  at
org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
  at
org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
  at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
  at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
  at
org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169)
  at
org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82)
  at
org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
  at
org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
  at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)     at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:441)
  at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:227)
  at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
  at
org.wso2.carbon.tenant.mgt.stub.TenantMgtAdminServiceStub.updateTenant(TenantMgtAdminServiceStub.java:2362)
  at
org.wso2.carbon.tenant.mgt.ui.clients.TenantServiceClient.updateTenant(TenantServiceClient.java:110)
  at
org.wso2.carbon.tenant.mgt.ui.utils.TenantMgtUtil.updateTenantConfigBean(TenantMgtUtil.java:119)
  at
org.apache.jsp.tenant_002dmgt.submit_005ftenant_005fajaxprocessor_jsp._jspService(submit_005ftenant_005fajaxprocessor_jsp.java:167)
  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)     at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
  at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)     at
org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)    at
org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)     at
org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
  at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
  at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
  at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)     at
org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:124)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:65)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:124)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
  at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
  at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
  at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  at
org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:80)
  at
org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:91)
  at
org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:60)
  at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
  at
org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
  at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
  at
org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
  at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
  at
org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
  at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
  at
org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
  at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
  at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
  at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
  at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
  at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775)
  at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734)
  at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  at java.lang.Thread.run(Thread.java:748) Caused by:
org.wso2.carbon.identity.event.IdentityEventException: Error while
getting connector configurations for property
:account.disable.handler.enable   at
org.wso2.carbon.identity.handler.event.account.lock.util.AccountUtil.getConnectorConfig(AccountUtil.java:68)
  at
org.wso2.carbon.identity.handler.event.account.lock.AccountDisableHandler.handleEvent(AccountDisableHandler.java:131)
  at
org.wso2.carbon.identity.event.services.IdentityEventServiceImpl.handleEvent(IdentityEventServiceImpl.java:56)
  at
org.wso2.carbon.identity.governance.listener.IdentityMgtEventListener.handleEvent(IdentityMgtEventListener.java:604)
  ... 80 more Caused by:
org.wso2.carbon.identity.governance.IdentityGovernanceException: Error
while retrieving resident Idp for test.com tenant.    at
org.wso2.carbon.identity.governance.IdentityGovernanceServiceImpl.getConfiguration(IdentityGovernanceServiceImpl.java:108)
  at
org.wso2.carbon.identity.governance.IdentityGovernanceServiceImpl.getConfiguration(IdentityGovernanceServiceImpl.java:131)
  at
org.wso2.carbon.identity.handler.event.account.lock.util.AccountUtil.getConnectorConfig(AccountUtil.java:61)
  ... 83 more Caused by:
org.wso2.carbon.idp.mgt.IdentityProviderManagementException: Could not
find Resident Identity Provider for tenant test.com   at
org.wso2.carbon.idp.mgt.IdentityProviderManager.getResidentIdP(IdentityProviderManager.java:311)
  at
org.wso2.carbon.identity.governance.IdentityGovernanceServiceImpl.getConfiguration(IdentityGovernanceServiceImpl.java:105)
  ... 85 more TID: [-1234] [] [2019-04-09 15:46:18,571] ERROR
{org.wso2.carbon.tenant.mgt.ui.utils.TenantMgtUtil} -  Failed to
update the tenant config. tenant-domain: test.com, tenant-admin:
admin. 
org.wso2.carbon.tenant.mgt.stub.TenantMgtAdminServiceExceptionException:
TenantMgtAdminServiceExceptionException   at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  at java.lang.Class.newInstance(Class.java:442)  at
org.wso2.carbon.tenant.mgt.stub.TenantMgtAdminServiceStub.updateTenant(TenantMgtAdminServiceStub.java:2376)
  at
org.wso2.carbon.tenant.mgt.ui.clients.TenantServiceClient.updateTenant(TenantServiceClient.java:110)
  at
org.wso2.carbon.tenant.mgt.ui.utils.TenantMgtUtil.updateTenantConfigBean(TenantMgtUtil.java:119)
  at
org.apache.jsp.tenant_002dmgt.submit_005ftenant_005fajaxprocessor_jsp._jspService(submit_005ftenant_005fajaxprocessor_jsp.java:167)
  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)     at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
  at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)     at
org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)    at
org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)     at
org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
  at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
  at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
  at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)     at
org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:124)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:65)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:124)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
  at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
  at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
  at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  at
org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:80)
  at
org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:91)
  at
org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:60)
  at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
  at
org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
  at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
  at
org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
  at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
  at
org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
  at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
  at
org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
  at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
  at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
  at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
  at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
  at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775)
  at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734)
  at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  at java.lang.Thread.run(Thread.java:748) ```

【问题讨论】:

    标签: wso2 migration upgrade multi-tenant wso2is


    【解决方案1】:

    我已经解决了这个问题,虽然我不确定这是否是解决方案。我希望这会帮助某人或某人可以帮助我。

    对于租户更新抛出错误Failed to update the tenant config. tenant-domain: test.com, tenant-admin: admin:

    使用orderId 95 禁用身份侦听器org.wso2.carbon.identity.governance.listener.IdentityMgtEventListener。现在在管理员用户中,您将能够更新租户。

    必须禁用 orderId 为 95 的 IdentityMgtEventListener 才能登录租户以解决密钥库和驻留身份提供程序问题。

    对于keystore页面抛出Error occurred null:

    为租户创建密钥库并添加密钥库。这些链接很有帮助:

    Changing the hostname

    How to changing the primary keystore of a tenant in carbon products

    对于抛出Error loading Resident Identity Provider的居民身份提供者:

    我发现租户在 IDP 表中没有条目。因此,我使用租户 ID 为租户插入了一条记录,这已解决。不确定这是否是正确的解决方案。

    MySQL 查询示例:

    INSERT INTO database.IDP ('ID', 'TENANT_ID', 'NAME', 'IS_ENABLED', 'IS_PRIMARY', 'HOME_REALM_ID', 'INBOUND_PROV_ENABLED', 'IS_FEDERATION_HUB', 'IS_LOCAL_CLAIM_DIALECT') VALUES ('72', '10', 'LOCAL', '1', '1', 'localhost', '0', '0', '0');

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      • 2015-10-28
      • 2022-06-27
      • 1970-01-01
      相关资源
      最近更新 更多