我有一个带有表单身份验证的 ASP.NET MVC3 应用程序,它已经运行了一段时间。我正在尝试 html5 音频标签,其中音频文件的 src 属性(无论是 mp3 还是 ogg)指向一个 MVC3 GET 操作,该操作接受某些音频内容的 guid id。action 方法返回一个 FileStreamResult 并且非常高兴地允许在 MSIE9 (mp3)、FireFox 9+ (oga) 和 Chrome 18 (oga) 中播放音频。在 Safari 5.1.4 中,它应该支持的 mp3 不会播放。
进一步调查表明,在 safari 的情况下对 action 方法的请求是未经身份验证的,因此在检查请求标头时,我可以看到 .aspxauth cookie 不在请求中。在音频标签尝试其请求之前和之后选择的其他操作链接都发送 .aspxauth cookie。
有没有办法强制 safari 发送身份验证 cookie?我应该指出,禁用此操作的授权不是一种选择。
从那以后,我在最新的 Safari 5.1.5 中尝试过这个,但没有成功。