任何人都可以告诉我,如果可以在我的网站上同时使用基本身份验证和表单身份验证,而不会相互干扰?在同一网站上使用基本身份验证和表单身份验证
我有一个新网站,我只希望某些人为审批目的而看到。
该网站有一个使用表单身份验证的成员区域,现在当任何人在通过基本身份验证后进入网站时,他们被引导到表单身份验证页面,即使他们应该查看未受表单保护的页面认证。
我需要一种情况,清除基本身份验证的任何人都可以查看整个站点,而不需要通过表单身份验证登录的站点的成员区域。
任何人都可以告诉我,如果可以在我的网站上同时使用基本身份验证和表单身份验证,而不会相互干扰?在同一网站上使用基本身份验证和表单身份验证
我有一个新网站,我只希望某些人为审批目的而看到。
该网站有一个使用表单身份验证的成员区域,现在当任何人在通过基本身份验证后进入网站时,他们被引导到表单身份验证页面,即使他们应该查看未受表单保护的页面认证。
我需要一种情况,清除基本身份验证的任何人都可以查看整个站点,而不需要通过表单身份验证登录的站点的成员区域。
听起来好像你只是没有为特定的成员区域配置表单身份验证,但它已经配置了一切。
请看the authorization element和the location element(如果您想控制主Web.config中的设置,而不是为成员的区域创建Web.config)。
另请参阅ASP.NET Forms Authentication and a "No Authentication" subfolder(除非你想相反)。
一种选择是编写自己的基本身份验证筛选器属性,并保护只需要使用自定义属性进行基本身份验证的操作。需要表单身份验证的控制器操作应该使用正常的[Authorize]属性进行保护。请参考下面的例子: -
http://www.ryadel.com/en/http-basic-authentication-asp-net-mvc-using-custom-actionfilter/
我在过去类似的问题,但沿着提供REST调用和形式的认证,当有人访问该网站的MVC基本身份验证的线条更。我们最终创建了我们自己的认证过滤器
您的认证是如何设置的? – MarioDS 2016-06-23 13:13:57
请发布一些关于如何配置您的认证/授权的细节(代码或伪代码)。如果您被重定向到错误的地方,这听起来更像是授权问题而不是认证问题。你使用'AuthorizeAttribute'吗?你在使用'AllowAnonymousAttribute'吗?请参见[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 – NightOwl888 2016-06-23 19:59:57
我已更新该问题。正在使用'[Authorize]'属性,并按照表单身份验证的预期工作。但是,整个站点需要使用基本身份验证进行保护。即当用户尝试访问该网站时,系统会提示他们使用浏览器登录对话框。清除后,用户应该能够查看整个网站,不包括具有'[Authorize]'属性的方法/控制器(需要进行表单身份验证才能访问这些网站的这些部分) – cnorthfield 2016-06-23 21:49:01