Отображение изображения в SharePoint, для которого требуется базовая аутентификация

0

У меня есть изображение, которое на самом деле представляет собой график, который динамически генерируется, который размещен на другом сервере (к которому у меня нет доступа). Этот сайт требует базовой проверки подлинности перед отображением изображения. Если вы еще не вошли в систему, вам будет предоставлен логин (базовая аутентификация, а не проверка подлинности). Учетные данные для входа всегда одинаковые - они не будут отличаться в зависимости от того, какой пользователь зарегистрирован в SharePoint.

Доступ к изображению можно получить с https://site.com/image.php?id=1336

Я хочу встроить этот образ в SharePoint. Он не нуждается в непосредственном встраивании. Я готов написать простую страницу, разместить ее за пределами SharePoint и внедрить ее, если это имеет смысл (хотя, как правило, одному встроенному решению проще управлять). Решение должно работать с большинством современных браузеров (например, вы можете использовать URL https://user: [email protected]/image.php? Id = 1336 в Chrome, но он не работает с IE).

Я довольно много искал, но не нашел решения, которое соответствует потребностям (и что у меня есть способность мозга следовать).

Любая помощь будет оценена.

Теги:
sharepoint

1 ответ

0
Лучший ответ

используя cUrl, это было бы довольно просто:

$host = 'http://path-to-your-site.com/image.php?id=1336'; //site
$username = 'username'; //basic auth username
$password = 'password'; //basic auth password
$process = curl_init($host); //initiate the host request
curl_setopt($process, CURLOPT_HTTPHEADER, 'Content-Type: image/png'); //png?
curl_setopt($process, CURLOPT_HEADER, 1); // 1 for incldue header in output, 0 for not
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password); //the auth request
curl_setopt($process, CURLOPT_TIMEOUT, 30); //how long will we wait 
curl_setopt($process, CURLOPT_POST, 0); //not a post request
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE); //return as a string or print immediately?
$return = curl_exec($process); //the returned image
curl_close($process); //end your curl request
//do something with $return

Ещё вопросы

Сообщество Overcoder
Наверх
Меню