使用Windows身份验证保护服务结构无状态WebAPI端点

时间:2016-12-13 23:14:04

标签: c# asp.net-web-api windows-authentication azure-service-fabric service-fabric-stateful

我打算将Service Fabric用作我的Web应用程序的缓存工具。

在Service Fabric中,我有:

  • 存储我的缓存对象的有状态应用程序
  • 无状态WebAPI应用程序,用作其他应用程序与有状态应用程序通信的端点。 WebAPI使用OWIN自托管。 (see screenshot

两者都在同一个集群中。无状态WebAPI将充当暴露的终点。我的想法是让我的外部应用程序将API发送到有状态应用程序的GET / POST / DELETE缓存。

我正在尝试使用Windows身份验证(see screenshot)保护WebAPI,因此只有我域中的用户才能调用API。这个功能在Service Fabric中是否可行,因为我没有使用IIS?我应该在App.config中包含其他内容吗?

<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
  <providers>
    <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientWindowsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" connectionStringName="DefaultConnection" credentialsProvider="" />
  </providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
  <providers>
    <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" connectionStringName="DefaultConnection" />
  </providers>
</roleManager>

1 个答案:

答案 0 :(得分:0)

您可以在OWIN中配置Windows身份验证。阅读this