假设您有一个可通过HTTP和HTTPS访问的WCF服务,但您只希望某些方法可用于HTTPS - 我如何检查当前请求是否为HTTPS?由于HttpContext是空的,你不能简单地检查HttpContext.Current.Request.IsSecureConnection - 任何其他想法?提前致谢.
考虑到WCF应用程序也可以作为Windows服务托管,根本没有ASP.NET,在这种情况下,没有"安全"与"不安全"之类的东西.这就是为什么WCF不会尝试提供此信息的原因之一.
一种选择是在ASP.NET兼容模式下运行WCF服务,您可以在其中访问该HttpContext.Current实例.
但是,我的选择只是为安全操作创建一个不同的仅SSL服务.我真的认为你无论如何都想要这样做,所以合同是明确的; 否则你将继续进行运行时检查,客户可能不知道他们试图使用的方法是不允许的.
"最佳实践"在Web服务是使这些类型的限制,明确越好,且只能通过SSL一个单独的服务是迄今为止描述您服务的限制最明显的手段.
| 归档时间: |
|
| 查看次数: |
2542 次 |
| 最近记录: |