我有一个需要 Windows 身份验证的页面“Download.aspx”。当用户登录时,他们会看到一个他们可以下载的文件的链接列表。这些链接实际上指向一个“ZipHandler.ashx”处理程序,该处理程序根据传递的参数处理请求。
我的问题是HttpContext.Current.User.Identity.IsAuthenticated
在经过身份验证的用户访问该处理程序时的方法false
内部。ProcessRequest
IHttpHandler
我需要检查它们是否在 IHttpHandler 中经过身份验证,因为未经身份验证的用户也可以访问具有不同结果的处理程序。我已经测试了HttpContext.Current.User.Identity.IsAuthenticated
“Download.aspx”页面内的值,该值是true
所以我不明白为什么 ashx 处理程序不是这种情况。我尝试将 IReadOnlySessionState 和 IRequiresSessionState 接口添加到我的处理程序,但我仍然遇到同样的问题。