如何在ASP.Net Web API中为特定控制器启用Windows身份验证

如果有一种方法只能为特定ASP.Net Web API控制器的特定操作启用 Windows身份验证,我就会徘徊.我的Web API Web服务有几个具有大量操作的控制器,但只有一个控制器的一个操作需要Windows身份验证.此Web服务使用Web API 2.1实现,并托管在IIS(v7.5及更高版本)中.尽管如此,它是一个Intranet Web服务,我不想在控制器和不需要它的操作上启用Windows身份验证.如果有办法为特定控制器和操作启用Windows身份验证,请告诉我.

我的网络服务代码与下面的代码类似.只有Controller1.Action1实现的端点api / controller1 / action1需要Windows身份验证.其余操作不需要Windows身份验证:

[RoutePrefix("api/controller1")]
public class Controller1: ApiController
{
    [Route("action1")]
    public HttpResponseMessage Action1()
    {
        return Request.CreateResponse<object>(HttpStatusCode.OK,null);
    }
    [Route("action2")]
    public HttpResponseMessage Action2()
    {
        return Request.CreateResponse<object>(HttpStatusCode.OK,null);
    }
}


[RoutePrefix("api/controller2")]
public class Controller2 : ApiController
{
    [Route("action1")]
    public HttpResponseMessage Action1()
    {
        return Request.CreateResponse<object>(HttpStatusCode.OK,null);
    }
}

谢谢,
丽塔

解决方法

这是你想要的吗?将其添加配置文件中.
<location path="api/controller1">
  <system.web>
    <authorization>
      <deny users="?" />
    </authorization>
  </system.web>
</location>

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....