Ich bin mit einem wirklich peinlichen Problem konfrontiert, indem ich Spring Basic Authorization für einen Rest-Service in Liveray implementiere. Eigentlich funktioniert die Konfiguration perfekt, wenn ich die Anwendung auf meinem lokalen Computer teste.Spring Basic Autorisierung für REST Service auf Liferay funktioniert nicht
Das Problem tritt auf, sobald ich die Anwendung auf unserem Testserver bereitstellen. Der Server gibt immer einen nicht autorisierten 401-Zugriff zurück, aber der Autorisierungsanbieter wird nie erreicht.
Durch das Debuggen, bemerkte ich, dass die Anforderung enthält nicht den Header mit den Anmeldeinformationen (header = null), wenn die BasicAuthenticationFilter erreicht:
if(header != null && header.startsWith("Basic "))
Durch den Netzwerkverkehr an dem Browser zu analysieren, der Authorization-Header ist Dort.
Hier ist meine Sicherheitskonfiguration:
<http pattern="/*" security="none"/>
<!-- urls that need authentication and roles -->
<http use-expressions="true" >
<intercept-url pattern="/myrest/url/**" access="hasAnyRole('myrole')" />
<http-basic/>
</http>
<!-- AuthenticationManager/Provider that checks the authentication against Liferay -->
<beans:bean id="myCustomAuthorizationProvider"
class="myCustomAuthorizationProvider">
<beans:constructor-arg ref="myUsersDao"/>
<beans:constructor-arg ref="MyRolesDao"/>
</beans:bean>
<authentication-manager>
<authentication-provider ref="myCustomAuthorizationProvider"/>
</authentication-manager>
Ich werde jede Hilfe schätzen es.
Welche Version von Liferay verwenden Sie? –