Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对web服务的访问控制_C#_Asp.net_Web Services_Iis_Certificate - Fatal编程技术网

C# 对web服务的访问控制

C# 对web服务的访问控制,c#,asp.net,web-services,iis,certificate,C#,Asp.net,Web Services,Iis,Certificate,这就是我希望实现的目标: 我的ASP.NET web服务托管在名为//service的服务器上。我希望通过服务器和应用程序控制对web服务的访问。这里我的意思是,如果在名为//web1的服务器上托管两个ASP.NET web应用程序(app1和app2),我只希望//web1/app1能够调用web服务。我知道我可以授予对//web1的IP地址的访问权,但这将允许//web1/app1和//web1/app2访问web服务 我正在考虑使用SSL证书,因为我不希望web应用程序处理登录/密码。在/

这就是我希望实现的目标:

我的ASP.NET web服务托管在名为//service的服务器上。我希望通过服务器和应用程序控制对web服务的访问。这里我的意思是,如果在名为//web1的服务器上托管两个ASP.NET web应用程序(app1和app2),我只希望//web1/app1能够调用web服务。我知道我可以授予对//web1的IP地址的访问权,但这将允许//web1/app1//web1/app2访问web服务

我正在考虑使用SSL证书,因为我不希望web应用程序处理登录/密码。在//service上,我将授予对//web1的ip的访问权限,并将客户端证书从//web1映射到windows帐户,这将只允许//web1中的应用程序访问。但是,如何进一步控制仅访问//web1/app1

您可以使用标准来控制哪些应用程序可以访问您的web服务

凭证随每个请求一起在授权头中传递。每个web服务客户端(即//web1/app1)都应该有自己的凭据,因此,如果//web1/app2试图在不提供可识别凭据的情况下连接到web服务,它将被拒绝访问

我建议使用SSL加密所有流量,以便身份验证信息和其他敏感数据是安全的

以下是一些可能有用的文章:

祝你好运

不太可能

证书保护客户端和服务器域之间的传输。为多个子目录拥有多个证书实际上是行不通的

您要做的是创建一个返回令牌的登录服务。然后,您使用该令牌在服务器端管理会话,客户端将其与每个后续请求一起使用,以访问和执行可用的服务。(此令牌能否访问此Web服务?t/f)

您必须授予客户端访问某种凭据的权限。无论是证书交换还是用户/通行证,您都必须弄清楚客户机到底是谁