我在MVC6应用程序中使用ASP.NET Identity with Forms auth,并尝试为API端点实现Basic auth。
我原本以为会有一个预先构建的中间件来实现它,但却找不到它。我已经看了过滤器测试网站https://github.com/aspnet/Mvc/tree/dev/test/WebSites/FiltersWebSite,我似乎无法弄清楚它在做什么/哪个部分很重要。
我尝试使用pre-5方法在authorizationfilter中手动执行基本身份验证,但是SuppressFormsAuthenticationRedirect似乎已经消失,而CookieAuthenticationHandler仍然会重定向到登录页面。
答案 0 :(得分:2)
基本身份验证不在设计之中。安全团队反对它。他们可能会在以后制作样本。
您可以在此处阅读有关此问题的讨论:https://github.com/aspnet/Security/issues/209
答案 1 :(得分:0)
由于您的目标是IIS,我建议利用IIS进行基本身份验证。您可以将web.config文件放入wwwroot文件夹,其中包含配置基本身份验证选项的部分。
如果您想保持主机不可知,则需要中间件。以下是某些实现:https://github.com/Kukkimonsuta/Odachi/tree/master/src/Odachi.Security.BasicAuthentication