Servlets 从HttpServletRequest获取UsernamePasswordCredential
我正在使用Spring SimpleFormController来处理表单提交。当客户端通过httpclient.getState()在httpclient中设置UsernamePasswordCredentials时,如何在服务器端从“onSubmit”中的HttpServletRequest获取此UsernamePasswordCredentials方法。我们可以从请求中获取“authorization”头值,Base64解码该值,以表明如果有人截获网络通信,用户名和密码实际上非常容易读取。(这就是为什么使用HTTPS进行身份验证是一个非常好的主意)Servlets 从HttpServletRequest获取UsernamePasswordCredential,servlets,apache-httpclient-4.x,Servlets,Apache Httpclient 4.x,我正在使用Spring SimpleFormController来处理表单提交。当客户端通过httpclient.getState()在httpclient中设置UsernamePasswordCredentials时,如何在服务器端从“onSubmit”中的HttpServletRequest获取此UsernamePasswordCredentials方法。我们可以从请求中获取“authorization”头值,Base64解码该值,以表明如果有人截获网络通信,用户名和密码实际上非常容易读取。
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();
}