#java #websphere #saml #websphere-portal #user-registry
#java #websphere #saml #websphere-portal #пользователь-реестр
Вопрос:
Я использую WebSphere Portal Server 8.5.5.14 и пытаюсь интегрировать SAML SSO в приложение. Я настроил перехватчик ACS следующим образом,
<trustAssociation xmi:id="TrustAssociation_1" enabled="true">
<interceptors xmi:id="TAInterceptor_1603957530229" interceptorClassName="com.ibm.ws.security.web.saml.ACSTrustAssociationInterceptor">
<trustProperties xmi:id="Property_1603957530314" name="sso_1.sp.acsUrl" value="https://localhost:10041/samlsps/ciam"/>
<trustProperties xmi:id="Property_1603057530732" name="sso_1.sp.idMap" value="idAssertion"/>
<trustProperties xmi:id="Property_1603957530732" name="sso_1.sp.principalName" value="uid"/>
<trustProperties xmi:id="Property_1603950530859" name="sso_1.sp.groupName" value="group"/>
<trustProperties xmi:id="Property_1603951530859" name="sso_1.sp.useRealm" value="onelogin"/>
<trustProperties xmi:id="Property_1603952531859" name="sso_1.sp.SingleSignOnUrl" value="https://samlpoctest.onelogin.com/trust/saml2/http-redirect/sso/19c6d240-d71c-4e9b-af4a-14993ef4cefb"/>
<trustProperties xmi:id="Property_1603953531859" name="sso_1.sp.groupMap" value="localRealm"/>
<trustProperties xmi:id="Property_1603954530847" name="sso_1.sp.includeToken" value="true"/>
<trustProperties xmi:id="Property_1603955530339" name="sso_1.sp.filter" value="request-url%=sml"/>
<trustProperties xmi:id="Property_1603959530333" name="sso_1.sp.login.error.page" value="com.ibm.wsspi.security.web.saml.CustomAuthnRequestProvider"/>
<trustProperties xmi:id="Property_1603957530444" name="sso_1.sp.redirectToIdPonServerSide" value="true"/>
<trustProperties xmi:id="Property_1603957530446" name="sso_1.sp.targetUrl" value="https://localhost:10041/wps/myportal"/>
<trustProperties xmi:id="Property_1603957530850" name="sso_1.sp.uniqueId" value="uid"/>
</interceptors>
</trustAssociation>
Несмотря на то, что он настроен для выполнения IDAssertion, я получаю сообщение об ошибке, подобное приведенному ниже,
[20.12.2018 8:20:35:247 BRT] 0000045b Произошло исключение ContextManage <runAs(System) ->. Выйдите из com.ibm.websphere.wim.exception.EntityNotFoundException: CWWIM4001E Объект ‘uid = qqqq, o = onelogin’ не был найден. в com.ibm.ws.wim.adapter.file.was.fileData.getByDN(fileData.java:1029) в com.ibm.ws.wim.adapter.file.was.FileAdapter.get(FileAdapter.java:1209) в com.ibm.ws.wim.ProfileManager.getImpl(ProfileManager.java:1757) в com.ibm.ws.wim.ProfileManager.genericProfileManagerMethod(ProfileManager.java:375) в com.ibm.ws.wim.ProfileManager.get(ProfileManager.java:428) в com.ibm.websphere.wim.ServiceProvider.get(ServiceProvider.java:385) в com.ibm.websphere.wim.client.LocalServiceProvider.get(LocalServiceProvider.java:364) в com.ibm.wps.um.VMMFilter$3.run(VMMFilter.java:171) в com.ibm.wps.um.VMMFilter$ 3.run(VMMFilter.java:168) в com.ibm.ws.security.авт.ContextManagerImpl.runAs(ContextManagerImpl.java:5572) в com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5698) на com.ibm.wps.um.VMMFilter.get(VMMFilter.java:182) на com.ibm.wps.um.VMMFilter.filter(VMMFilter.java:398) на com.ibm.wps.um.PrincipalFilter.filter(PrincipalFilter.java:186) на com.ibm.wps.um.RealmFilter.filter(RealmFilter.java:151) на com.ibm.wps.um.PrincipalFilterChain.invokeFiltering(PrincipalFilterChain.java:120) на com.ibm.wps.um.FilterAdapter.get(FilterAdapter.java: 162) в com.ibm.wps.um.PumaEngineHelper.reload(PumaEngineHelper.java:880) в com.ibm.wps.um.PumaEngineHelper.loadWithBaseAttributes(PumaEngineHelper.java:773) в com.ibm.wps.um.PumaLocatorImpl.findUserByIdentifier(PumaLocatorImpl.java:136) в com.ibm.wps.puma.util.PumaSubjectHelper.getUserForSubject(PumaSubjectHelper.java:161) в com.ibm.wps.um.UserLookupAbstract$1$1.выполнить(UserLookupAbstract.java:68) в com.ibm.wps.um.UserLookupAbstract$1$1.выполнить(UserLookupAbstract.java:65) на com.ibm.wps.um.PumaEngineHelper.runUnrestricted(PumaEngineHelper.java:1387) на com.ibm.wps.um.PumaEnvironmentImpl.runUnrestricted(PumaEnvironmentImpl.java:176) на com.ibm.wps.um.UserLookupAbstract$1.выполнить(UserLookupAbstract.java:63) на com.ibm.wps.um.UserLookupAbstract$1.выполнить(UserLookupAbstract.java:60) на com.ibm.wps.um.RealmManager.executeUnderRealm(RealmManager.java:195) на com.ibm.wps.um.UserLookupAbstract.getCurrentUser.getCurrentUser(UserLookupWSSubjectImpl.java:59) в com.ibm.wps.um.UserLookupWSSubjectImpl.getCurrentUser(UserLookupWSSubjectImpl.java:34) в com.ibm.wps.um.PumaProfileImpl .getCurrentUser(PumaProfileImpl.java:494) в com.ibm.wps.движок.ExtendedLocaleFilter.getUserPreferredLocale(ExtendedLocaleFilter.java:304) в com.ibm.wps.engine.ExtendedLocaleFilter.getAcceptLanguageHeader(ExtendedLocaleFilter.java:250) в com.ibm.wps.engine.ExtendedLocaleFilter.doFilter(ExtendedLocaleFilter.java:115) в com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) в com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) в com.ibm.wps.resolver.friendly.servlet.Дружественный фильтр выбора.doFilter(FriendlySelectionFilter.java:191) в com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) в com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) в com.ibm.wps.project.filter.ProjectIdFilter.doFilterWithoutProjectID(ProjectIdFilter.java:405) в com.ibm.wps.project.filter.ProjectIdFilter.doFilter(ProjectIdFilter.java:319) на com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) в com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) в com.ibm.wps.services.preview.PreviewFilterImpl.doFilter(PreviewFilterImpl.java:356) в com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) в com.ibm.ws.webcontainer.filter.Цепочка фильтров веб-приложений.doFilter(WebAppFilterChain.java:91) в com.ibm.wps.mappingurl.impl.URLAnalyzer.doFilter(URLAnalyzer.java:442) в com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) в com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) в com.ibm.wps.engine.Фильтр виртуального портала.doFilter(VirtualPortalFilter.java:89) в com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) в com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) в com.ibm.wps.resolver.servlet.ContentHandlerGzip.internalDoFilter(ContentHandlerGzip.java:730) в com.ibm.wps.resolver.servlet.ContentHandlerGzip.doFilter(ContentHandlerGzip.java:471) в com.ibm.wps.распознаватель.сервлет.Абстрактный фильтр.doFilter(AbstractFilter.java:103) в com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) в com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) в com.ibm.wps.state.filter.StateCleanup.doFilter(StateCleanup.java:103) в com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) в com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) в com.ibm.wps.devicesupport.Рабочий фильтр света.doFilter(WorklightFilter.java:166) в com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) в com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) в com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967) в com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107) в com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) в com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:949) на com.ibm.ws.webcontainer.Запрос WSWebContainer.handleRequest(WSWebContainer.java:1817) на com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:213) на com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463) на com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530) в com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ProcessRequest(HttpInboundLink.java:316) в com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88) в com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1833 ) в com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) в com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) в com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) в com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) в com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) в com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) в com.ibm.io.async.ResultHandler$2.запустите(ResultHandler.java:905) в com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)
Но дело в том, что по этой конфигурации WebSphere даже не должна заглядывать в реестр пользователей.
Заранее спасибо. 🙂
Ответ №1:
Пожалуйста, удалите sso_1.sp.GroupMap из конфигурации TAI
Комментарии:
1. Удалил sso_1.sp.GroupMap из конфигурации TAI и все еще получаю ту же ошибку.