【发布时间】:2020-07-11 15:16:12
【问题描述】:
@PostMapping("login")
public String postLogin(@RequestParam Map<String, String> body) {
log.info(body);
Optional<String> token = authService.login(body.get("email"),
body.get("password"),
body.get("rememberMe"));
if (token.equals(Optional.empty())) {
return "redirect:/login-error";
}else {
log.info("POST MAPPING SUCCESSFUL " + token.orElse(null) );
response.add("Authorization",token.orElse(null));
return "redirect:/main-page-authorized";} }
** 在这里我可以得到令牌,根据用户邮件。它生成令牌。但我不知道如何将令牌发送到浏览器并且每个请求都识别令牌。同时,我需要重定向到主页授权。我怎样才能做到这两点?**
【问题讨论】:
-
你试过用“response.setHeader(token.orElse(null))”代替“response.add”吗?另外,您不应该也收到“HttpServletResponse response”作为此方法的参数吗?
-
是的,你是对的,它已被删除,对不起。但是当我尝试 response,setHeader() 时,下一页也无法识别令牌。实际上,token 会显示为 null(
-
是的,但是登录 else 语句会显示令牌生成。它是生成的
-
我认为问题是没有显示标题,或者重定向后丢失
-
从我读到的所有其他地方,“redirect://”,因为它发生在客户端,在此处设置时标头不会出现。
标签: java spring spring-boot spring-security jwt-auth