Почему бы вам не попробовать использовать response.sendRedirect:
@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
AuthenticationException exception) throws IOException, ServletException {
final HttpSession session = request.getSession(false);
if (session != null) {
request.getSession().setAttribute(WebAttributes.AUTHENTICATION_EXCEPTION, exception);
}
//here the logic to get the error type of the exception
String errorMessage = ????
redirectStrategy.sendRedirect(request, response,
"http://localhost:8080/login?" + errorMessage);
}
В раннем проекте спецификации C# 3.0 был комментарий в поле раздела по деревьям выражений, которые сказали:
У меня есть действительно изумительное доказательство полноты по Тьюрингу, которую это поле является слишком узким для содержания.
Печально никто не смог узнать, кто записал это, или разработайте доказательство.
Деревья выражений LINQ могут представить что-либо, что можно вставить нормальное выражение C#. По сути, они не могут использоваться для прямого представления while
циклы, for
циклы, и т.д.
Однако теоретически возможно использовать лямбда-выражения и рекурсию для выполнения любого повторения, в котором Вы, возможно, нуждаетесь. На практике может быть легче отбросить Enumerable
методы в Ваше дерево.
Не определяя вещь, которая выполнит дерево, мы не знаем. В собственной интерпретации CLR (когда Вы компилируете их в делегатов) они. Но если Вы переводите их в SQL, они не, и можно изобрести собственную запутывающую интерпретацию их с любыми свойствами, которые Вы любите.
Пока Вы не решили, как интерпретировать их, они - просто структуры данных.
Ну, почему Вы не пытаетесь доказать его? Я держал пари, что это - забавная проблема ;)
Но деревья выражений только представляют выражение и как таковой, необходимо будет определить то, что Вам разрешают сделать, как указано Earwicker.
Если Вы позволяете деревьям выражений использовать рекурсию, можно достигнуть повторения т.е. для циклов и такого.
Однако невведенное лямбда-исчисление является полным по Тьюрингу Turing_completeness#Examples, но Лямбда-исчисление не разрешает рекурсии по сути Lambda_calculus#Recursion, это все очень рискованно.
Я пришел бы к заключению, что выражение, вероятно, полно по Тьюрингу, но оно потребует кого-то, кто более знаком с этим для подтверждения этого.