我有一个带cas的mvc项目。在控制器类A中,我使用
URL url = new URL("...");
InputStream in = new BufferedInputStream(url.openStream());
因此将创建一个新的会话,并且应该由另一个控制器B处理。虽然我有一个简单的登录,但新会话将被cas阻止,而控制器B会响应。
有想法吗?如何在控制器A中为此新会话添加身份验证。
我试过
HttpURLConnection connection = ( HttpURLConnection ) url.openConnection();
connection.setRequestProperty("Proxy-Authorization",(new StringBuilder("Basic ")) .append((new BASE64Encoder()).encode((new StringBuilder(String.valueOf(proxyUser)))
.append(":").append(proxyPassword).toString().getBytes())).toString());
或
connection.setRequestProperty("Authorization", ...)
and dosent work。
由于
答案 0 :(得分:0)
您不能只是附加密码。标头需要base64编码的字符串,格式为“username:password”。目前,您正在将字符串转换为字节数组,然后再转换回字符串。