2016-11-08 214 views
0

在Windows域中,Sliver-light浏览器外的应用程序(由许多用户使用)使用IIS上托管的几个WCF服务。现在用户知道WCF服务端点,他们可以在没有Sliver-light App的情况下执行方法。那么IIS是否可以识别来自浏览器的http请求或Sliver-light out-of-browser App然后阻止来自浏览器的所有请求,但仅允许来自Sliver-light应用程序的http请求?在IIS上添加IP安全性不是一个选项,因为这会阻止用户使用Sliver-light应用程序,并且在WCF上添加PrincipalPermission属性不是一个选项,因为需要太多的域用户组和WCF方法需要处理。IIS如何阻止来自浏览器的http请求

+0

当浏览器发出请求时,它在头部包含'Agent',您可以使用此信息来决定是否阻止。 您可以在IIS中执行此操作:http://serverfault.com/questions/548386/iis-request-filtering-rule-for-user-agent或在WCF中:http://stackoverflow.com/questions/2759866/how -to-detect-user-agent-in-wcf-web-service –

+0

用户代理对于从IE或Sliver-light浏览器外应用发送的请求具有相同的值。 – seagull

回答

0

实现Url在IIS中重写模块解决的问题。只需使用此模块添加一条规则,该规则仅允许http请求头HTTP-REFERER字段包含sliver-light .xap文件。标题中的REFERER始终具有相同的值,即.xap文件。