2011-08-02 82 views
0

几年前,我向现有的Web应用程序添加了一个web服务接口,该接口允许创建自定义客户端来操纵应用程序所持有的数据。客户端主要是.NET,而Web应用程序是Java(托管在Tomcat服务器中),自那时以来,这两个平台之间的互操作性并不是很好,我创建了自己的小本地认证方案,使用二进制安全令牌由两端的处理程序拼接到请求/响应xml中。从那时起,技术在双方都取得了进展(Java领域的Metro项目强调了与.NET世界的互操作性);不幸的是,我一直忙于其他项目,并没有跟上细节。但从目前为止我所了解的情况来看,使用(相对)新标准(如WS-Security,WS-Policy等)应该不可能使用类似的正确地执行简单的Web服务认证/授权不那么简单?

我已经有机会更新当时的代码,我真的很想这样做“正确”这一次。令我困扰的是旧解决方案的一个问题是,安全性令牌的存在并未反映在wsdl中(任何实施客户端的人都必须从其他来源知道它,并且包括我为处理程序提供的一些类,令牌和一些额外的代码行将它们连接到Web服务) - 据我了解WS- *规范,应该可以使用WS-Policy或WS-SecurityPolicy?

但不知何故,我一直无法找到任何资源(例子,教程等)在线,将解释如何人们甚至会开始执行这样的事情。

因此,考虑到最新的技术和标准(如使用Metro框架的服务器,以及使用WCF的.NET 3或4中的客户端),是否可以创建使用基本用户的Web服务/密码认证到“登录”(即创建某种会话或“会话”)到服务,然后允许在会话保持有效时对服务执行任何操作,并且一旦用户明确“注销“或超时过期?

回答