Próbuję zintegrować spring-security-saml z istniejącą aplikacją, aby ta aplikacja działała jako dostawca usług.Nieoczekiwany formularz śledzenia stosu Spring-Security-SAML podczas generowania metadanych SP?
Niestety, nie mogę sprawić, że filtr metadanych zadziała. Webapp uruchamia się bez żadnego zamieszania, ale kiedy trafię $ contextPath/saml/metadata, otrzymuję następujący ślad stosu w moich dziennikach.
2014-10-24 13:52:38,779 54025 [[email protected]] WARN org.mortbay.log - /sf/saml/metadata/
org.opensaml.saml2.metadata.provider.MetadataProviderException: No hosted service provider is configured and no alias was selected
at org.springframework.security.saml.context.SAMLContextProviderImpl.populateLocalEntity(SAMLContextProviderImpl.java:311) ~[spring-security-saml2-core
-1.0.0.RELEASE.jar:1.0.0.RELEASE]
at org.springframework.security.saml.context.SAMLContextProviderImpl.populateLocalContext(SAMLContextProviderImpl.java:216) ~[spring-security-saml2-cor
e-1.0.0.RELEASE.jar:1.0.0.RELEASE]
at org.springframework.security.saml.context.SAMLContextProviderImpl.getLocalEntity(SAMLContextProviderImpl.java:107) ~[spring-security-saml2-core-1.0.
0.RELEASE.jar:1.0.0.RELEASE]
at org.springframework.security.saml.metadata.MetadataDisplayFilter.processMetadataDisplay(MetadataDisplayFilter.java:114) ~[spring-security-saml2-core-1.0.0.RELEASE.jar:1.0.0.RELEASE]
at org.springframework.security.saml.metadata.MetadataDisplayFilter.doFilter(MetadataDisplayFilter.java:88) ~[spring-security-saml2-core-1.0.0.RELEASE.jar:1.0.0.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) ~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) ~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166) ~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
Moja konfiguracja metadane są zawarte poniżej:
<bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter">
<constructor-arg ref="metadataGenerator"/>
</bean>
<bean id="metadataGenerator" class="org.springframework.security.saml.metadata.MetadataGenerator">
<!--<property name="entityBaseURL" value="${env.shibboleth.entityBaseUrl"/>-->
<property name="bindingsSSO">
<list>
<value>redirect</value>
<value>artifact</value>
</list>
</property>
<property name="entityId" value="${env.shibboleth.entityId}"/>
<prop
</bean>
Obecnie używamy: Wersja
- wiosny: 4.0.4.RELEASE
- wersji zabezpieczeń wiosny: 3.2.3 .RELEASE
- spring-security-saml2 version: 1.0.0.RELEASE
W tym momencie jestem w dużej mierze ze stratą, ponieważ nie próbujesz zrobić konfiguracji multi-tennancy, który jest jedynym miejscem, które alias jest wymieniona na długości, a od czego mogę zobacz, metadataGenerator definiuje usługodawcę?
Witaj Vladimir, czy zdajesz sobie sprawę, dlaczego odpowiednik JavaConfig do powyższego xml nie wygenerowałby metadanych? 'http.addFilterBefore (metadataGeneratorFilter(), ChannelProcessingFilter.class) .addFilterAfter (samlFilter(), BasicAuthenticationFilter.class);' Wielkie dzięki, pozdrawiam – nuvio
SAMLContextProviderImpl: 244 otrzyma null identyfikator podmiotu, jak opisano w tej kwestii. – nuvio