我創建了一個BasicAuthFilter
,它有這樣的簽名:如何從servlet過濾器中的URL中提取用戶名和密碼?
@Override
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException
這是工作,如果有人要求與Authorization頭設置正確的方式過濾。但是,如果有人對Chrome或Firefox訪問的URL是這樣的:
http://username:[email protected]:8888
的瀏覽器未填入的信息(這讓我吃驚)Authorization頭。我查看了chrome發送的信息,用戶名和密碼位於請求URL中,但沒有其他地方。
我無法弄清楚如何從URL中提取信息。我在HttpServletRequest
上嘗試了很多獲得者,但沒有找到任何能夠給我用戶名和密碼的東西。
注:是的,我知道這是不安全的,當您嘗試測試您的系統時使用它非常方便。
你*可以*手動解析URL字符串... –
如果你做了什麼String url = request.getRequestURI();只是手動解析它? –
@JanVladimirMostert它包含我的主機後的路徑。 –