【发布时间】:2016-11-08 21:31:09
【问题描述】:
在 Windows 域中,Sliver-light out-of-browser 应用程序(由许多用户使用)消耗 IIS 上托管的几个 WCF 服务。现在用户知道了 WCF 服务端点,他们也许可以在没有 Sliver-light App 的情况下执行方法。那么是否有可能 IIS 可以识别来自浏览器或 Sliver-light 浏览器外应用程序的 http 请求,然后阻止来自浏览器的所有请求,但只允许来自 Sliver-light 应用程序的 http 请求?在 IIS 上添加 IP 安全不是一个选项,因为这将阻止用户使用 Sliver-light 应用程序,并且在 WCF 上添加 PrincipalPermission 属性也不是一个选项,因为需要太多的域用户组和 WCF 方法需要处理。
【问题讨论】:
-
当浏览器发出请求时,它在标头中包含
Agent,您可以使用此信息来决定是否被阻止。您可以在 IIS 中执行此操作:serverfault.com/questions/548386/… 或在 WCF 中执行此操作:stackoverflow.com/questions/2759866/… -
对于从 IE 或 Sliver-light out-of-browser 应用程序发送的请求,User-Agent 将具有相同的值。