4

我正在询问是否可以为我的 WebApi 控制器服务同时提供 AD 身份验证和 Basic。我的目的是让所有内部(公司)用户使用 AD 凭据(Windows)进行身份验证以实现无缝登录,但对移动和外部(非公司)用户进行基本身份验证。我正在查找有关使用其中任何一种但不一定是同时使用这两种方法的最佳方法的信息。我不感兴趣的是在 AD 中添加外部用户。

4

1 回答 1

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
           }

    }
}
于 2013-01-09T05:09:17.587 回答