我正在询问是否可以为我的WebApi控制器服务提供AD身份验证和基本身份验证。我的目的是让所有内部(公司)用户使用AD凭据(窗口)进行身份验证以进行无缝登录,但是移动和外部(非公司)用户的基本身份验证。我正在寻找有关使用两者的信息,但不一定是使用两者的最佳方法。我不感兴趣的是在AD中添加外部用户。
答案 0 :(得分:2)
您可以采取的方法是创建自定义操作过滤器并在全局注册。
的内容
public class MixedAuthenticationAttribute : System.Web.Http.Filters.ActionFilterAttribute
{
public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
{
//basic auth header check
if (actionContext.Request.Headers.Authorization == null)
{
//no auth header run AD authentication process.
} else {
//basic auth authentication
}
}
}