我有一个系统,它会每隔X秒更新一些关于用户通知的UI细节(就像StackOverflow的通知,gmail收件箱等)。 我计划有一个web服务,它将检查新通知并每隔X秒调用一次。事实是:我不想让每个人公开,我想让它只对我的系统可访问,所以它是唯一能够使用它的人。
有没有办法做到这一点?如果您有其他方法我不想使用WebService。
我的系统是使用ASP.NET 4.0和Microsoft的MVC框架构建的。我可以召集一个动作去做吗?
我的问题与此类似:How do I secure ASP.NET web service to only allow relative path calling?
但据我理解答案,他建议将Web服务转变为系统内部无法从外部访问的普通类方法。这对我不起作用,因为我想从客户端访问它。
谢谢, 奥斯卡
ps:改变基础架构配置(例如:在内部服务器中托管它)将很难做到......
编辑:我希望通过此Web服务实现的目的是更新通知编号。这应该在不刷新页面的情况下完成,因此我考虑使用服务器验证是否有任何通知,如果有,则更新UI。Edit2:我可以用我系统中的普通方法转换这个web方法,这没问题。然后问题将变为如何将客户端连接到此方法?可能使用javascript调用操作然后在此操作中调用方法?
答案 0 :(得分:0)
在另一个网站上部署此WebService,然后configure this site只能从IP:127.0.0.1
访问。另外结帐this blog post - 您可以安装IP Security
,然后安装:
最后,要创建限制,请打开IIS管理器并选择 您要限制的网站。打开IP地址和域 限制模块,然后在操作面板中(右侧) 选择编辑功能设置....只允许本地浏览 应该默认拒绝。从下拉列表中选择“拒绝”,然后单击“确定”。 然后添加您的例外 - 您要允许的IP或范围 进入。为此,请从操作中选择“添加允许输入...” 面板,并添加所需的所有例外。
现在,只有在同一个Web服务器上运行的应用程序才能访问此Web服务。