Spring Security Rest API失败处理程序,如何获取用户名?

时间:2017-10-27 21:44:30

标签: spring rest

我们正在使用Spring安全性(4.2.x)进行Rest API。

我想获得用户名'在身份验证失败期间,在失败处理程序类(MyAuthenticationFailureHandler扩展SimpleUrlAuthenticationFailureHandler)中。

有没有办法获得用户名'我们内部的后续处理?这不是网页调用,而是Web服务REST API调用(不涉及浏览器)

我徒劳地尝试了以下

    String lUsername = request.getParameter("j_username");
    String lUsername1 = request.getRemoteUser();
    String user = request.getParameter("username");
    String username = (String) 
    request.getSession().getAttribute("SPRING_SECURITY_LAST_USERNAME");

让我知道。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在http标头中找到用户名。如果您使用的是基本身份验证,则会在Authorization字段中显示:

request.getHeaders().getHeader("Authorization");

您将获得具有以下格式的字符串:

Basic user:password