考虑一个在线购物网站。每个人都可以将产品浏览为匿名用户。但是当您尝试将产品添加到心愿单时,您需要登录。
据我所知,如果我点击Add to Wishlist,Spring会将我重定向到Login页面,并在登录成功之前将我重定向回登录前的最后一页。
但是,有没有办法1)将产品添加到愿望清单,2)重定向到我登录前查看的最后一页?
一种可能的方法是在身份验证成功处理程序中检查已保存的请求URL,并在那里明确地执行操作,例如currentUser.addToWithList(product)
。但我不喜欢这样。我们已经有一个接受" / add-to-wishlist?product = xxx"的端点。有没有办法在身份验证成功处理程序中做这样的事情?
if (isAjax(savedRequest)) {
// "send" the request to the savedRequest url, but ignore the response
// <code goes here>
}
// Use the default success handler to get back to the previous page
super.onAuthenticationSuccess(request, response, authentication);