【问题标题】:URL-based authorization and ajaxpro problem基于URL的授权和ajaxpro问题
【发布时间】:2010-08-31 18:59:13
【问题描述】:

我有一个使用 Ajaxpro 和表单身份验证的 ASP.NET 应用程序。首先,我在尝试避免通过授权传递 ajaxpro 处理程序时遇到了麻烦,当我将它们包含在 web.config 的不同位置时,这个问题得到了解决:

<location path="ajaxpro/prototype.ashx">
    <system.web>
            <authorization>
                    <allow users="*"/>
            </authorization>
    </system.web>
</location>
<location path="ajaxpro/core.ashx">
    <system.web>
            <authorization>
                    <allow users="*"/>
            </authorization>
    </system.web>
</location>
<location path="ajaxpro/converter.ashx">
    <system.web>
            <authorization>
                    <allow users="*"/>
            </authorization>
    </system.web>
</location>

但是,当我尝试访问我们的 AjaxMethods 时,仍然出现 401 错误。我试图将我们的类型置于以下配置下:

<location path="ajaxpro/MyType,MyAssembly.ashx">
    <system.web>
        <authorization>
            <allow  users="*"/>
        </authorization>
    </system.web>
</location>

但这并不能正常工作,在某些特定情况下我仍然收到 401 响应:我意识到当我的请求有一些查询字符串值时,此设置不起作用。

我希望我可以做类似 path="ajaxpro/*" 的事情,但似乎这是不可能的。有没有人有其他想法?

【问题讨论】:

    标签: asp.net authorization ajaxpro


    【解决方案1】:

    您应该只能像这样使用文件夹名称指定位置:

     <location path="ajaxpro">
            <system.web>
                <authorization>
                        <allow users="*"/>
                </authorization>
            </system.web>
        </location>
    

    【讨论】:

    • 我确实尝试过,但是在尝试访问 ajaxpro/Whatever.ashx 时仍然得到那些 401...可能是因为它不是物理文件夹,而是处理程序路径?
    猜你喜欢
    • 2019-11-20
    • 2019-06-27
    • 2016-07-01
    • 1970-01-01
    • 2014-11-04
    • 2020-09-13
    • 1970-01-01
    • 2014-11-17
    • 2022-08-15
    相关资源
    最近更新 更多