2
我正在使用ColdFusion訪問從IIS傳遞的「授權」標頭值。 我在IIS7上沒有問題,但是在IIS6中,頭文件在ColdFusion中根本不可用。 我試過使用JAVA來訪問標題,而且我在其他地方看到人們也遇到過與ASP類似的問題。IIS6中缺少標題(ColdFusion,也可能是其他語言)
奇怪的是,如果我看看FireFug 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>
唉,是的...我試過各種組合。事實上,在我正常工作的IIS7設置中,我沒有啓用基本功能。我發現在IIS6服務器上啓用Basic時,出現了兩個單獨的身份驗證窗口 - 一個是域名作爲域,另一個是我設置的特定域。 我可以看到的唯一區別是,在IIS6服務器上,匿名訪問具有附加的用戶名和密碼,以便匿名訪問使用特定的Windows帳戶。 –
好吧,我知道通常認證信息通過cgi.auth_user提供。你嘗試過使用它嗎? –
它在CGI範圍中不可用 - 事實上,據我所知,getPageContext()Java方法是用來填充CF的CGI變量的,所以如果我無法使用getPageContext()獲取數據,那麼我在CGI範圍內也無法獲得它。 –