【发布时间】:2018-02-11 05:01:27
【问题描述】:
我正在尝试将控制从一个控制器重定向到另一个控制器,但它没有发生。我经历了以前的 stackoverflow 问题,但他们的解决方案不适用于我的情况。
我的控制器是
@RestController
@RequestMapping( "/rest/auth" )
public class UnprotectedController extends AbstractController {
@Autowired
private UserServices userService;
@Autowired
private RequesterService requesterService;
@RequestMapping(value = "/login",method = RequestMethod.POST)
public ModelAndView login(HttpServletRequest request, HttpServletResponse response)
{
return new ModelAndView("redirect:/login");
}
}
在Postman,如果我点击http://localhost:8090/login,我会得到有效的回复。但是如果我点击http://localhost:8090/rest/auth/login,我会收到错误
{
"timestamp": 1504340884618,
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/login"
}
似乎控制没有重定向到指定的redirect url。为什么会这样?
http://localhost:8090/login 是spring security 验证用户凭据并创建Security Context 的路径
【问题讨论】:
-
我就是这么做的。但它不起作用
-
您使用的是哪个 Spring Security 版本?
-
它发出
POST请求....那么没有黑客可以实现这一点吗? -
如果邮递员制作
POST /login,那么我错了,它应该可以工作。显示你的 Spring Security 配置,可能有问题。
标签: spring spring-boot spring-security spring-security-oauth2