Насколько я могу сказать, вы хотите, чтобы у вас был URL-параметр, который сообщает Spring, чтобы он перенаправлял вас на канал https.
Так вы пытались:
<security:intercept-url pattern="/**/*?secure*" requires-channel="https"/>
это не работает, попробуйте сбежать "?":
<security:intercept-url pattern="/**/*\?secure*" requires-channel="https"/>
Я только что посмотрел на источник для FilterChainProxy
(в 3.0.5.RELEASE), и он использует регулярные выражения для сопоставления с шаблонами.Таким образом, вы можете взглянуть на:
org.springframework.security.web.util.RegexUrlPathMatcher#pathMatchesUrl(Object compiledPath, String url)
или
org.springframework.security.web.FilterChainProxy#getFilters(String url)
, чтобы точно узнать, какой шаблон вам нужен.
Так что, даже если весна в настоящее время не поддерживает '?'знак, что вы можете расширить свой UrlPathMatcher
и вставить его в FilterChainProxy
.