servicestack,windows-authentication,Asp.net,Iis,Iis 7,servicestack,Windows Authentication" /> servicestack,windows-authentication,Asp.net,Iis,Iis 7,servicestack,Windows Authentication" />

Asp.net 如何将IIS配置为仅接受来自网络上其他服务器和组的请求?

Asp.net 如何将IIS配置为仅接受来自网络上其他服务器和组的请求?,asp.net,iis,iis-7,servicestack,windows-authentication,Asp.net,Iis,Iis 7,servicestack,Windows Authentication,我正试图锁定我们内部网上的一些http web服务。这些是在iis7上运行的servicestack 3服务。iis7通过asp.net在外部(dmz)web服务器上访问它们 我想要的是,只有选定的人员/组和某些机器才能访问它们 我将IIS配置为使用Windows身份验证,这对用户和组都很好 我遇到的问题是,我不想将用户/密码硬编码到外部web服务器的代码或配置文件中。此计算机不在公司域上 有没有一种方法,使用windows auth,让我们的外部服务器向内部服务器进行身份验证,而无需硬编码 对

我正试图锁定我们内部网上的一些http web服务。这些是在iis7上运行的servicestack 3服务。iis7通过asp.net在外部(dmz)web服务器上访问它们

我想要的是,只有选定的人员/组和某些机器才能访问它们

我将IIS配置为使用Windows身份验证,这对用户和组都很好

我遇到的问题是,我不想将用户/密码硬编码到外部web服务器的代码或配置文件中。此计算机不在公司域上

有没有一种方法,使用windows auth,让我们的外部服务器向内部服务器进行身份验证,而无需硬编码

对于外部服务器上的asp.net服务客户端,我使用以下代码尝试设置凭据:

var client = new JsvServiceClient(Settings.Default.API);
            client.LocalHttpWebRequestFilter += (request) =>
            {
                var setting = ServiceSettings.Settings.Services["PortalAPI"];
                request.Credentials = CredentialCache.DefaultCredentials;
            };
            return client;
如果我改为使用
新的网络凭据(用户,通过)
并向其传递一个有效的帐户,这似乎是可行的。我想我不知道通过
CredentialCache.DefaultCredentials
CredentialCache.DefaultNetworkCredentials
传递的凭据是什么,因此我不知道在服务的web.config上放置什么来限制对它们的访问

在服务端,我尝试了各种设置以允许访问:

<authentication mode="Windows" />
<authorization>
  <allow users="NT AUTHORITY\NETWORK SERVICE"/>
  <deny users="*" />
</authorization>

<authorization>
  <allow roles="BUILTIN\Administrators"/>
  <deny users="*" />
</authorization>


我需要允许谁允许来自外部服务器的IIS访问,但除非指定,否则不允许其他用户访问?谢谢

我想我已经具备了使用以下工具所需的功能:

<authorization>
  <allow roles="BUILTIN\\IIS_IUSRS"/>
  <deny users="*" />
</authorization>


是的,对不起,措辞不准确。我们也不希望任何pc或内部服务器上的用户能够访问它。只是应用程序所在的web服务器(内部或外部)。基本上,希望将其限制为开发人员、webserver1、webserver2等。