0

我有一个系统,它将每 X 秒更新一些关于用户通知的 UI 细节(就像 StackOverflow 的通知、gmail 收件箱等)。我计划有一个网络服务来检查新的通知并让它每 X 秒调用一次。事实是:我不想把它公开给所有人,我想让它只能被我的系统访问,所以它是唯一能够使用它的人。

有没有办法做到这一点?不需要使用 WebService,如果您有其他方法,我想听听。

我的系统是使用 ASP.NET 4.0 和 Microsoft 的 MVC 框架构建的。我可以要求采取行动吗?

我的问题与此类似:如何保护 ASP.NET Web 服务以仅允许相对路径调用?

但据我了解的答案,他提出可以将webservice变成系统内部的普通类方法,外部无法访问。这对我不起作用,因为我想从客户端访问它。

谢谢,奥斯卡

ps:更改基础架构配置(例如:将其托管在内部服务器中)将很难做到......

编辑:我想用这个网络服务实现的是更新通知号码。这应该在不刷新页面的情况下完成,因此我考虑与服务器验证是否有任何通知,如果有,更新 UI。

Edit2:我可以在我的系统中用普通方法转换这个webmethod,那没问题。然后问题将变为如何将客户端连接到此方法?也许使用javascript调用一个动作,然后在这个动作中调用该方法?

4

1 回答 1

0

将此 WebService 部署在不同的网站上,然后将此站点配置为只能从 IP 访问:127.0.0.1。另请查看此博客文章- 您可以安装IP Security然后:

最后,要创建限制,请打开 IIS 管理器并选择要限制的网站。打开 IP 地址和域限制模块,然后在操作面板(右侧)中选择编辑功能设置...。如果只允许本地浏览,您应该默认拒绝。从下拉列表中选择拒绝,然后点击确定。然后添加您的例外——您要允许访问的 IP 或范围。为此,请从操作面板中选择添加允许条目...,然后添加您需要的所有例外。

现在,只有在同一 Web 服务器上运行的应用程序才能访问此 Web 服务。

于 2012-08-16T16:21:27.587 回答