Servlets 从HttpServletRequest获取UsernamePasswordCredential

Servlets 从HttpServletRequest获取UsernamePasswordCredential,servlets,apache-httpclient-4.x,Servlets,Apache Httpclient 4.x,我正在使用Spring SimpleFormController来处理表单提交。当客户端通过httpclient.getState()在httpclient中设置UsernamePasswordCredentials时,如何在服务器端从“onSubmit”中的HttpServletRequest获取此UsernamePasswordCredentials方法。我们可以从请求中获取“authorization”头值,Base64解码该值,以表明如果有人截获网络通信,用户名和密码实际上非常容易读取。

我正在使用Spring SimpleFormController来处理表单提交。当客户端通过httpclient.getState()在httpclient中设置UsernamePasswordCredentials时,如何在服务器端从“onSubmit”中的HttpServletRequest获取此UsernamePasswordCredentials方法。

我们可以从请求中获取“authorization”头值,Base64解码该值,以表明如果有人截获网络通信,用户名和密码实际上非常容易读取。(这就是为什么使用HTTPS进行身份验证是一个非常好的主意)

     try {
        String auth = request.getHeader("Authorization");
        if(auth!=null&&auth.length()>6){
            String userpassEncoded = auth.substring(6);  
            // Decode it, using any base 64 decoder  
            sun.misc.BASE64Decoder dec = new sun.misc.BASE64Decoder();  
            String userpassDecoded= new String(dec.decodeBuffer(userpassEncoded));
            System.out.println(" userpassDecoded = "+userpassDecoded);
         }
       } catch (Exception e) {
        e.printStackTrace();
       }