我正在使用ColdFusion来访问从IIS传递的“授权”标头值。
我在IIS7上没有任何问题,但是在IIS6中,标头在ColdFusion中根本不可用。
我尝试使用JAVA来访问标头,并且在其他地方我读到人们对ASP也有类似的问题。
奇怪的是,如果我查看FireBug for FireFox中的标头,则可以看到Authorization标头,因此我知道IIS服务器正在将值传回-我只是无法在代码中使用它!
有没有人有办法解决吗?
代码示例:
<!--- Force authorisation --->
<cfheader statuscode="401" statustext="Unauthorized" />
<cfheader name="WWW-Authenticate" value="basic realm=""API""" />
<cfoutput>
#getPageContext().getRequest().getHeader('Authorization')# <!--- Blank on IIS6 --->
<cfdump var="#getHTTPRequestData()#"> <!--- Authorization header missing on IIS6 --->
</cfoutput>
最佳答案
您是否尝试过在IIS中同时启用“基本”身份验证和“匿名”身份验证?如果没有启用Basic,则IIS 6可能不会将该标头公开给基础应用程序。