如何使用 IIS 和 Windows 2008 R2 访问 Shibboleth Header 和 CGI 变量

问题描述 投票:0回答:0

如何访问 shibboleth 属性以登录到应用程序或基于属性创建用户?

该应用程序在 Windows 2008 R2 服务器上运行 Coldfusion 10,64 位操作系统。 Shibboleth Service provider(SP) 3.4 安装并配置了 IIS 7.5.7 版本。 useHeaders 在 Shibboleth.xml 配置上启用,ISAPI 和 CGI 限制允许用于 Shibboleth Web 扩展。

SHibboleth 状态检查正常,当单击登录按钮时,它成功地从身份提供者 (IDP) 端进行身份验证,并且可以在 IDP 发布的 SP 会话中看到属性 eppn、mail、sn 和 givenName。

一些口令配置部分:

<InProcess>
        <ISAPI normalizeRequest="true" safeHeaderNames="true" useHeaders="true">
            
            <Site id="3" name="coursestest.cit.ie" scheme="https" port="443"/>
            
        </ISAPI>
</InProcess>
...
<ApplicationDefaults entityID="https://country.com/shibboleth"
        REMOTE_USER="eppn subject-id pairwise-id persistent-id"
        attributePrefix="HTTP_"
        homeURL="/name/index.cfm?action=checkLogin"
        cipherSuites="DEFAULT:!EXP:!LOW:!aNULL:!eNULL:!DES:!IDEA:!SEED:!RC4:!3DES:!kRSA:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1">

cfdump getHTTPRequestData() 返回空字符串,cfdump CGI 也返回空字符串。

当我尝试 getHTTPRequestData().headers['http_mail'] 时,它也返回空字符串。邮件是由 IDP 发布的属性,我在 shibboleth 配置中添加了前缀 http。

期待后续

<cfset reqHeaders = getHTTPRequestData()>
<cfif reqHeaders.headers.http_eppn NEQ "">
   <cfset fedVars.lastname = CGI.sn>
   <cfset fedVars.firstname = CGI.givernName>
<cfset fedVars.email = CGI.mail>
<cfelse>
   <cfexit>
</cfif>
iis-7.5 coldfusion-10 shibboleth-sp
© www.soinside.com 2019 - 2024. All rights reserved.