首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法限制对ASMX way服务的访问,即asmx页面及其WSDL?

有没有办法限制对ASMX way服务的访问,即asmx页面及其WSDL?
EN

Stack Overflow用户
提问于 2009-09-09 14:48:07
回答 5查看 24.7K关注 0票数 16

我有一个需要限制访问的C# .net .net服务。我已经要求我的消费者使用用户名和密码来调用服务。但是,有没有办法限制对实际asmx页面和WSDL的访问呢?我需要通过用户名/密码和IP地址限制对and服务的访问。如果用户没有正确的凭据,我不想让他们知道what服务中存在哪些webmethods。

这可以通过IIS完成吗?我知道我可以通过IIS限制IP地址,但我还可以使用用户名/密码吗?

在IIS之外,有没有其他方法可以做到这一点,比如使用C#.net?

EN

回答 5

Stack Overflow用户

发布于 2009-09-09 15:20:41

可以通过从Machine.config中的元素中删除文档协议来停止显示WSDL

更新:Web Services authentication - best practices?如果你的用户有用户名/密码,你可以通过HTTPS使用HTTP basic认证。

你也可以用一种稍微不同的方式来实现它。对web服务的第一个调用应该是身份验证方法。客户端进行身份验证并接收身份验证令牌。此令牌应呈现给您的web服务公开的所有其他方法。

票数 0
EN

Stack Overflow用户

发布于 2009-10-22 03:39:27

我不知道这对你有多实用,但你可以考虑升级到WCF。WCF与ASMX web服务完全向后兼容,并允许您通过定义MEX (元数据交换)端点来控制是否公开WSDL。没有MEX终结点,没有WSDL。

票数 0
EN

Stack Overflow用户

发布于 2009-10-22 13:00:21

有两个选项:在不同的端口上创建一个完全不同的站点,并锁定权限。这样做的好处是提供了一定程度的“模糊的安全性”(半开玩笑……)或者,您可以在您的站点(相同的端口,不同的路径)下,在不同的应用程序池中添加一个新的应用程序,并以这种方式分配权限。

在任何一种情况下,您的web服务都不能与各种应用程序“事物”进行对话,比如应用程序对象(不错,但它不是同一个ASP.NET对象)。部署只是稍微困难一点:部署相同的二进制文件,但只包含一个web服务文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1400198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档