Вы можете добавить имя пользователя и пароль в самом URL, как это
http://username:password@report -server-хост / ReportServer / Страницы / ReportViewer.aspx REPORTNAME & RS: Формат = Excel
Чтобы преобразовать заголовок обычной аутентификации в имя пользователя: в формате пароля используйте декодер Base64.
Если заголовок имеет вид, подобный Basic {TOKEN}
, где {TOKEN}
- строка в кодировке Base64 (что-то вроде dXNlcm5hbWU6cGFzc3dvcmQ=
), то URL перенаправления должен быть
String auth = new String(Base64.getDecoder().decode(TOKEN));
path = path.replaceFirst("://", "://" + auth + "@");
FacesContext.getCurrentInstance().getExternalContext().redirect(path);
Поскольку у меня нет репутации, чтобы комментировать, я отвечаю на ваш комментарий здесь. Часть username:password@
не требует экранирования URL.