2010-05-26 36 views
8

任何人都可以告诉我,如果可以在我的网站上同时使用基本身份验证和表单身份验证,而不会相互干扰?在同一网站上使用基本身份验证和表单身份验证

我有一个新网站,我只希望某些人为审批目的而看到。

该网站有一个使用表单身份验证的成员区域,现在当任何人在通过基本身份验证后进入网站时,他们被引导到表单身份验证页面,即使他们应该查看未受表单保护的页面认证。

我需要一种情况,清除基本身份验证的任何人都可以查看整个站点,而不需要通过表单身份验证登录的站点的成员区域。

+0

您的认证是如何设置的? – MarioDS 2016-06-23 13:13:57

+0

请发布一些关于如何配置您的认证/授权的细节(代码或伪代码)。如果您被重定向到错误的地方,这听起来更像是授权问题而不是认证问题。你使用'AuthorizeAttribute'吗?你在使用'AllowAnonymousAttribute'吗?请参见[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 – NightOwl888 2016-06-23 19:59:57

+0

我已更新该问题。正在使用'[Authorize]'属性,并按照表单身份验证的预期工作。但是,整个站点需要使用基本身份验证进行保护。即当用户尝试访问该网站时,系统会提示他们使用浏览器登录对话框。清除后,用户应该能够查看整个网站,不包括具有'[Authorize]'属性的方法/控制器(需要进行表单身份验证才能访问这些网站的这些部分) – cnorthfield 2016-06-23 21:49:01

回答

1

一种选择是编写自己的基本身份验证筛选器属性,并保护只需要使用自定义属性进行基本身份验证的操作。需要表单身份验证的控制器操作应该使用正常的[Authorize]属性进行保护。请参考下面的例子: -

http://www.ryadel.com/en/http-basic-authentication-asp-net-mvc-using-custom-actionfilter/

我在过去类似的问题,但沿着提供REST调用和形式的认证,当有人访问该网站的MVC基本身份验证的线条更。我们最终创建了我们自己的认证过滤器

相关问题