У нас есть странная проблема, когда прямая ссылка из SharePoint на URL-адрес Cognos TM1 вызывает ошибку 403, однако, если мы обновляем или вставляем ссылку напрямую, она работает.
Причина может быть связана с удалением ведущего "http" (см. Ниже для других браузеров), однако это не ясно в исходной HTML-ссылке или в результатах Fiddler:
Есть мысли о причине / исправлении?
Из пункта меню SharePoint:
GET http://server:9510/tm1web/ HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://portal/Pages/home.aspx
Accept-Language: en-AU
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: server:9510
Connection: Keep-Alive
Результат [потерпеть поражение]:
HTTP/1.1 403 Forbidden
Server: Apache-Coyote/1.1
Content-Length: 0
Date: Mon, 23 Feb 2015 01:25:29 GMT
Нажатие F5 / Refresh в браузере после 403:
GET http://server:9510/tm1web/ HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-AU
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: server:9510
Cookie: JSESSIONID=6A01B8265CC22BD13A9DD46575A6485F; DWRSESSIONID=gIilAwYv2K33Yahd$G7keNo4QKk
Результат [работает]:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Encoding: gzip
Content-Type: text/html;charset=UTF-8
Content-Length: 684
Date: Mon, 23 Feb 2015 01:43:40 GMT
Другие браузеры:
Наш способ решения проблемы - использовать веб-сервер, не относящийся к SharePoint, со страницей для перенаправления (например, перенаправление HTML META).
Мы думали PermissiveXFrameHeaderModule HTTP Module
может вызывать это, но отключение его на нашем сервере разработки по-прежнему вызывает проблему.
Дополнительный пример:
Из SharePoint Redirect
страница:
GET http://portal/Pages/TM1-Redirect.aspx HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://portal/Pages/home.aspx
Accept-Language: en-AU
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: portal
Connection: Keep-Alive
Cookie: ...
Результат №1 - перенаправление:
HTTP/1.1 302 Found
Cache-Control: private, max-age=0
Content-Type: text/html; charset=utf-8
Expires: Sun, 08 Feb 2015 01:45:45 GMT
Last-Modified: Mon, 23 Feb 2015 01:45:45 GMT
Location: http://server:9510/tm1web/
Server: Microsoft-IIS/8.0
X-SharePointHealthScore: 0
X-AspNet-Version: 4.0.30319
SPRequestGuid: 9664ec9c-9790-10c2-3b44-67b194daa158
request-id: 9664ec9c-9790-10c2-3b44-67b194daa158
SPRequestDuration: 74
SPIisLatency: 0
WWW-Authenticate: Negotiate ...
Persistent-Auth: true
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 15.0.0.4561
X-Content-Type-Options: nosniff
X-MS-InvokeApp: 1; RequireReadOnly
Date: Mon, 23 Feb 2015 01:45:45 GMT
Content-Length: 146
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://server:9510/tm1web/">here</a>.</h2>
</body></html>
Результат №2 - [потерпеть поражение - то же, что и выше]:
HTTP/1.1 403 Forbidden
Server: Apache-Coyote/1.1
Content-Length: 0
Date: Mon, 23 Feb 2015 01:45:45 GMT
Чтобы обойти эту проблему, измените файл tm1web_config.xml следующим образом:
изменить это
<add key="CrossDomainAccessList" value="" />
к
<add key="CrossDomainAccessList" value="*" />
и перезапустите службу сервера приложений.