我正在处理一个网站的两个部分:一个使用普通表单身份验证,另一个使用基于 HMAC 的身份验证。基于表单的工作正常(使用自定义成员资格提供程序除外)。
最令人沮丧的是,默认情况下,如果决定使用表单身份验证,它会将所有 401 响应重定向到在身份验证标记下的根 Web.config 中指定的 loginUrl。为了为我的站点的 HMAC 部分关闭此功能,我创建了一个单独的区域,这些控制器位于其中。但是,无论我在哪里放置<authentication mode="None"></authentication>
标签(无论是在区域/视图 Web.config 中,Web .config 我已放置在区域文件夹中,或者在根 Web.config 中的位置标记下(这样做实际上会导致关于该标记不属于那里的错误))我似乎无法让这个东西停止将所有 401 重定向到 loginUrl .
任何帮助将不胜感激,因为这让我把头发扯掉了。
顺便说一句,这个问题已经被问了至少2 次,但没有(可行的)回答。虽然我的重点是将身份验证模式设置为无,但他们通常专注于更改路径的角色(在我看来,使用[Authorize(Roles="role1,role2,role3")]
每种方法的属性更容易做到这一点)这让我的问题有点不同。如果这是不可能的,也请告诉我,以便我找出更好的方法来做到这一点。