关闭一个子目录的ASP.Net WebForms身份验证
|
我有一个包含WebForms和MVC页面的大型企业应用程序.它具有我不想更改的现有身份验证和授权设置. WebForms身份验证在web.config中配置: <authentication mode="Forms"> <forms blah... blah... blah /> </authentication> <authorization> <deny users="?" /> </authorization> 到目前为止相当标准我有一个REST服务,这是这个大型应用程序的一部分,我想使用HTTP身份验证代替这一个服务. 因此,当用户尝试从REST服务获取JSON数据时,它将返回HTTP 401状态和WWW验证标头.如果他们以正确形式的HTTP授权响应进行响应,则可以让它们进入. 问题是WebForms会在较低的级别覆盖这一点 – 如果您返回401(未授权),它会覆盖302(重定向到登录页面).这在浏览器中没有问题,但对于REST服务来说却没有用. 我想关闭web.config中的身份验证设置,覆盖“rest”文件夹: <location path="rest"> <system.web> <authentication mode="None" /> <authorization><allow users="?" /></authorization> </system.web> </location> 授权位工作正常,但验证行(< authentication mode =“None”/>)会导致异常:
我在应用程序级别进行配置 – 它位于根web.config – 而且该错误是针对子目录中的web.configs. 如何覆盖身份验证,以便网站的其余所有网站使用WebForms身份验证,而这一个目录不使用? 这类似于另一个问题:401 response code for json requests with ASP.NET MVC,但是我并不是在寻找同样的解决方案 – 我不想仅仅删除WebForms身份验证,并在全球添加新的自定义代码,所涉及的风险和工作都很大.我想改变配置中的一个目录. 更新 我想设置一个单一的Web应用程序,并且我想要所有WebForms页面和MVC视图使用WebForms身份验证.我想要一个目录使用基本的HTTP身份验证. 请注意,我在谈论认证,而不是授权.我想要使用用户名& HTTP头中的密码,我想要WebForm& MVC页面附带来自.Net的身份验证cookie – 无论哪种情况,我们的DB都会进行授权. 我不想重写WebForms身份验证并滚动我自己的cookie – 这是向应用程序添加HTTP授权REST服务的唯一方法似乎是可笑的. 我不能添加额外的应用程序或虚拟目录 – 它必须是一个应用程序. 解决方法如果“休息”仅仅是您根目录中的一个文件夹,那么几乎就在这里:删除认证线,即 <location path="rest">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
或者,您可以添加一个web.config到您的休息文件夹,只需这样: <system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
检查this. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 配置 – ASP.NET Web Api:项目需要SQL Server Express
- ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递
- asp.net – 错误消息401.2:未授权:由于服务器配置,登录失
- asp.net-mvc-4 – / signalr / hubs未加载到asp.net mvc4:
- asp.net-web-api – 使用apicontroller对odata EntitySetCo
- asp.net-mvc – 哪种类型的缓存适合在Umbraco项目中使用,如
- asp.net – 如何在gridview中只显示日期而不是datetime?
- asp.net – 如何正确过滤数据表(datatable.select)
- asp.net – JS,图像和CSS被HTTPModule拦截
- asp.net – 可以在Visual Studio 2010中将任务列表项添加到
- 使用ASP.NET WebApi中的HttpClient异步读取分块内
- asp.net-mvc-4 – 为什么MVC4 @ Styles.Render()
- asp.net – 无法获取IIS的目录
- asp.net – 保护Web服务
- 如何在ASP.Net(MVC)中避免XSS漏洞?
- asp.net – 在Web.Config文件之外存储SMTP
- asp.net-mvc – 如何为ASP.NET MVC站点定义catch
- asp.net – 在IIS7.5中什么模块删除了400个错误请
- asp.net – 在应用程序级别之外注册为allowDefin
- asp.net-mvc – 为什么ASP.NET MVC忽略了我的尾随
