У меня есть приложение ColdFusion, размещенное на моем сервере IIS. Я добавил службу Shibboleth в свой веб-IIS, а CGI/Filters настроены на его использование. Я добавил свое приложение в федерацию testshib и смог успешно войти в систему. Теперь я пытаюсь получить переменную сеанса в коде ColdFusion.
Когда я выгружаю область CGI, я вижу, что сеанс шибболета сохраняется под HTTP_COOKIE
, но REMOTE_USER
— это пустая строка. Это связано с тем, что REMOTE_USER
нельзя использовать в соответствии с документами. Вместо этого переменная заголовка запроса должна называться HTTP_REMOTE_USER
, но я не вижу этого в дампе CGI. Кто-нибудь, почему это? Должен ли я настраивать это в моей карте атрибутов shibboleth или в ColdFusion?
index.cfm
CGI dUMP
<cfdump var = "#cgi#" >
<br>HTTP_REMOTE_USER
<cfdump var="#CGI.HTTP_REMOTE_USER#">
<br>Get Request
<cfset x = GetHttpRequestData()>
<cfdump var="x">
Дамп результата
HTTP_COOKIE:_shibsession_64656487474733a2f2f6465736f6d2f73686962626f6c657468=_ecb60f7e4bf7616ab3522;
Сессия
Miscellaneous
Session Expiration (barring inactivity): 479 minute(s)
Client Address: 224.61.30.228
SSO Protocol: urn:oasis:names:tc:SAML:2.0:protocol
Identity Provider: https://idp.testshib.org/idp/shibboleth
Authentication Time: 2017-11-30T14:48:48.255Z
Authentication Context Class: urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
Authentication Context Decl: (none)
Attributes
affiliation: 2 value(s)
entitlement: 1 value(s)
eppn: 1 value(s)
persistent-id: 1 value(s)
unscoped-affiliation: 2 value(s)