Hej wszystkim, mam taki case:
Mam aplikację, która wystawia restowe api np. /api/showProduct itp. itd.
Teraz dla jednego z endpointów koniecznie jest dodanie SSL, w taki sposób, aby /api/shop był dostępny tylko przez POST z SSL (https). A jeśli ktoś będzie próbował dostać się przez HTTP, to ma nie mieć dostępu.
Wiem, że mogę sprawdzić w controllerze httpServletRequest.isSecure(), ale czy to jest dobre rozwiązanie?
Dotychczasowe próby wyglądają tak:
<security:http auto-config="true" disable-url-rewriting="true" pattern="/api/**" use-expressions="true">
<security:intercept-url pattern="/shop/**" requires-channel="https" method="POST" access="isAuthenticated" />
</security:http>
<security:authentication-manager/>
Zarówno z tym jak i bez tego mogę wywołać żądaną metodę przez http i https.
Co powoduje odpalanie Controllera i wywołanie isSecured().
Czy możliwośc, albo zablokowania tego http, albo przekierowania automatycznie na https?