AJ_*_*AJ_ 2 iis coldfusion cgi saml shibboleth
我的 IIS 服务器上托管了一个 ColdFusion 应用程序。我将Shibboleth服务添加到我的 Web IIS,并设置了 CGI/过滤器以使用它。我将我的应用程序添加到testshib联盟并且能够成功登录。现在我正在尝试将会话变量放入 ColdFusion 代码中。
当我转储 CGI 范围时,我看到 shibboleth 会话保存在 下HTTP_COOKIE,但它REMOTE_USER是一个空字符串。这是因为REMOTE_USER不能根据docs 使用。相反,请求标头变量应该命名为HTTP_REMOTE_USER,但我在 CGI 转储中没有看到。有没有人这是为什么?我是否必须设置我的 shibboleth 属性映射或在 ColdFusion 中?
索引.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">
Run Code Online (Sandbox Code Playgroud)
转储结果
HTTP_COOKIE:_shibsession_64656487474733a2f2f6465736f6d2f73686962626f6c657468=_ecb60f7e4bf7616ab3522;
Run Code Online (Sandbox Code Playgroud)
会议
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)
Run Code Online (Sandbox Code Playgroud)
我相信 ColdFusion 不会在<cfdump>. 这并不意味着您不能直接访问似乎缺少 CGI 变量的内容。尝试更改您的转储以专门针对您需要的转储,例如:
<cfdump var="#CGI.HTTP_REMOTE_USER#">
如果它仍未写入 CGI 范围,您可能能够使用getHTTPRequestData().
| 归档时间: |
|
| 查看次数: |
805 次 |
| 最近记录: |