我创建了一个BasicAuthFilter
它有这个签名:
@Override
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException
如果有人使用正确设置的授权标头调用过滤器,则此方法有效。但是,如果有人在 chrome 或 firefox 上访问如下网址:
http://username:password@localhost:8888
浏览器没有使用该信息填充授权标头(这让我感到惊讶)。我查看了 chrome 发送的信息,用户名和密码位于请求 URL 中,但其他地方都没有。
我不知道如何从 URL 中提取该信息。我已经尝试了很多吸气剂HttpServletRequest
,但没有找到任何可以给我用户名和密码的东西。
注意:是的,我知道这是不安全的,但当您尝试测试系统时使用起来确实很方便。
URL url = new URL(custom_url);
String userInfo = url.getUserInfo();
String[] userInfoArray = userInfo.split(":");
System.out.println("username"+userInfoArray[0]);
System.out.println("password"+userInfoArray[1]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)