ASP.NET-Jquery load()不考虑web.config授权
我有一个启用Windows身份验证模式和匿名访问的asp.net intranet web应用程序。在我的web.config中,我为“安全”子文件夹设置了以下内容:ASP.NET-Jquery load()不考虑web.config授权,jquery,asp.net,load,jquery-ui-dialog,Jquery,Asp.net,Load,Jquery Ui Dialog,我有一个启用Windows身份验证模式和匿名访问的asp.net intranet web应用程序。在我的web.config中,我为“安全”子文件夹设置了以下内容: <location path="Secure"> <system.web> <authorization> <deny users="?" /> </authorization> </system.web> 问题是,如果我直接点击安全文件夹中
<location path="Secure">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
问题是,如果我直接点击安全文件夹中的某个页面,我的凭据将被正确验证或质疑。但是,我这样做的方式是使用JQuery对话框从安全文件夹加载页面。安全文件夹中的页面隐藏代码未执行,这是正确的,但任何静态内容都会使用200状态代码发送。以下是JS代码:
$('#MyDivID_link').live('click', function (event) {
editDialog.load("Secure/MyEditPage.aspx", function (response, status, xhr) {
if (status == "error") {
$("#MyDivID_Win").html("You are not authorized to use this application or your web browser is not supported.<br><br>Please use Internet Explorer to edit content.");
} else {
$("#btnSubmit").show();
}
}).dialog('open');
return false; });
除了加载状态为200之外,这一切都正常工作,因此返回静态内容,加载方法认为一切正常
有人知道我如何配置我的应用程序以正确地检查负载上的身份验证而不返回任何内容吗?或者有没有其他JQuery方法可以更好地工作?我不想将“Secure”子文件夹设置为具有自己的web.config的虚拟目录,尽管由于内部网的限制,此方法不起作用
有点困惑,所以如果我需要详细说明什么,请告诉我。感谢您的帮助。最后,我将整个安全文件的内容包装在一个div中,ID为“SecureContentWrapper”,并设置为runat=server,从而完成了这项工作。然后,在安全页面的代码隐藏中,我根据允许的用户检查System.Web.HttpContext.Current.User.Identity.Name,如果此人没有访问权限,我会将SecureContentWrapper div的InnerText覆盖为权限警告。它完成了任务,与JQuery UI对话框完美配合。它与JQuery无关,看起来像是一个严重的配置问题。谢谢Arun,我同意这不是JQuery的问题。这听起来几乎像是一个IIS/.NET错误,因为这将允许人们看到他们的应用程序配置为不匿名显示的某些内容。