Благодаря исходной отвечающей стороне для этого решения! Для тех, которым интересно, здесь это находится в VB:
If LicenseManager.UsageMode <> LicenseUsageMode.Designtime Then
Me.Width = Double.NaN
Me.Height = Double.NaN
End If
Я никогда не использовал Tuckey, но после беглого просмотра документации я бы попытался добавить одно правило для случая входа в систему:
<urlrewrite>
<rule>
<from>^/my-context/login$</from>
<to>/my-context/login</to>
</rule>
<rule>
<from>^/(.*)$</from>
<to>/-/$1</to>
</rule>
</urlrewrite>
EDIT
Хорошо, и что-то вроде этого:
<urlrewrite>
<rule>
<from>^/-/login$</from>
<to>/login</to>
</rule>
<rule>
<from>^/(.*)$</from>
<to>/-/$1</to>
</rule>
</urlrewrite>
Я изучал эту проблему для нашего проекта в прошлом году, и тогда проблема заключалась в том, что Tucky не сотрудничал с response.encodeRedirectUrl () для перезаписи URL-адресов перенаправления. Я связался с ними, но не следил за этим.
Мое решение заключалось в том, чтобы разрешить беспорядочный URL-адрес вернуться к клиенту, но затем очистить его с помощью правила перенаправления Tucky (второе перенаправление).
Итак добавьте еще одно правило, которое соответствует вашему уродливому URL из перенаправления безопасности, и выполните собственное перенаправление на чистый URL:
<rule>
<from>^/whatever/ugly.*$</from>
<to type="redirect">/login</to>
</rule>
Да, оно включает два перенаправления, но клиент никогда его не увидит ...
Безопасность Spring выполняет перенаправление с абсолютным URL-адресом, например http://example.org/-/login
Попробуйте использовать исходящее правило без ^ начало строки
маркер, соответствующий абсолютному URL-адресу, сгенерированному spring.
<outbound-rule>
<from>/-/login(.*)$</from>
<to>/login$1</to>
</outbound-rule>
] Я столкнулся с той же проблемой, но она, кажется, исправлена в версии 3.2.0 Tuckey. т.е. response.encodeRedirectUrl() теперь обёрнута Tuckeys UrlRewriteWrappedResponse, где происходит выполнение исходящего правила.[
].