0
首先,我现在才熟悉有关Autorization和JSON服务的问题。参见: How to manage a redirect request after a jQuery Ajax call。ASP.NET中的授权,JSON和重定向
我的情况: 我有一个admin目录,用自己的“admin”的目录,拒绝未经授权的用户:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
在这个目录里是我的主网页和两个HTTP处理程序我使用这上传文件,而不是。现在,虽然我有代码来处理当用户通过GET或POST访问处理程序时未经授权的情况,但似乎处理程序从未执行,并且GET/POST被重定向到登录页面。我想这一切都很好,但我真的很喜欢http处理程序自己来处理这个问题,并以不同的方式处理它(至少给出像401代码而不是重定向)。
现在看来似乎应该是相当容易的(我敢打赌,它可能是容易)万佛洞,允许HTTP处理程序来处理自己的安全,但我在我束手无策我还挺这里,所以我希望有人会向我展示如何修改web配置以允许这些服务处理他们自己的授权。谢谢!
是的,我刚刚尝试过。它正在工作,但是......现在有些东西似乎在拦截我的处理程序,并将我的401改为重定向,这真是令人困惑(我知道它现在正在进入我的处理程序,因为调试程序告诉我这么做)。 – JayC 2012-03-08 21:30:03
我会继续接受Hupperware的答案,因为它回答了我的问题,但事实证明,我*提出了错误的问题*。事实证明,默认情况下,ASP.NET会注册一个HTTP模块('FormsAuthenticationModule'),将401 UnAuthorized变为302重定向。此外,禁用该模块并不重要。在http://haacked.com/archive/2011/10/04/prevent-forms-authentication-login-page-redirect-when-you-donrsquot-want.aspx中有详细说明。哦,如果您使用Haack的解决方案或其衍生产品,则希望使用IIS Express。 – JayC 2012-03-12 15:10:33