c# - HTTP 处理程序的相同 Asp.net 表单例份验证

标签 c# asp.net forms authentication azure

我有一个用 asp.net 4.0 制作的网站,在 azure webrole 中运行。 我正在使用简单的表单例份验证,并允许对各种页面、脚本和样式进行未经身份验证的 GET 请求。
问题是我已经为扩展名“.kl”实现了一个自定义处理程序,它实际上是基于具有此扩展名的代码来提供图像的。所以假设 1.kl 和 2.kl 的输出会不同。
我需要允许未经身份验证的请求发送到该处理程序。
我该怎么做?
这是我的 webconfig 中的标签

<authentication mode="Forms">
      <forms loginUrl="~/UserPages/UserLogin.aspx" timeout="2880" name=".ASPXF2KAUTH" protection="All" path="/" defaultUrl="~/CodeGeneratorPages/SC_WC_CodeGen.aspx">
      </forms>
    </authentication>

最佳答案

这纯粹是 ASP.NET 问题,Azure 和本地部署的解决方案是相同的。

您需要决定一个“文件夹”作为您的处理程序的服务位置。例如,它可以是“/dynamic-images”或其他。并确保您生成的所有引用/链接都指向此文件夹(“~/dynamic-images/1.kl”)。

现在您需要添加 location您的配置中的元素。请注意locationconfiguration 的直接子级(不要将其放在 system.web 中):

<location path="dynamic-images">
    <system.web>
       <authorization>
          <allow users="*" />
       </authorization>
    </system.web>
</location>

(据我所知)没有其他方法可以实现您的目标。

关于c# - HTTP 处理程序的相同 Asp.net 表单例份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8785335/

相关文章:

html - 如何隐藏 html 表单下拉列表中的箭头按钮?

html - 如何在 bootstrap 3.3.7 框架内为 html 表单上的边框正确添加 css 选择器序列?

c# - 使用不同的数据库,具有不同的DBcontext,并根据不同的URL请求连接到它

c# - 如何确定枚举值的表示类型?

c# - 如何使用 Dotnetzip 库从 zip 中删除包含文件的特定文件夹?

c# - 将 `DataGrid` 替换为 `GridView` 时我们必须更改哪些内容?

asp.net - 是否有标准方法来表示 ASP.NET 中的 TSQL 最小日期

c# - SMTP 身份验证错误 "Failure Sendng Mail"

c# - 如何让标签中的文字闪烁?

javascript - 为什么我的 JS 不能正确从表单中提取值?