java - 简单的Web服务认证/授权不是那么简单吗?

标签 java .net web-services ws-security

几年前,我向现有的 Web 应用程序添加了一个 Web 服务接口(interface),该接口(interface)允许创建自定义客户端来操作应用程序保存的数据。客户端主要是 .NET,而 Web 应用程序是 Java(托管在 Tomcat 服务器中),而且从那时起,这两个平台之间的互操作性并不是那么好,我使用二进制安全 token 创建了自己的小型本地身份验证方案由两侧的处理程序拼接到请求/响应 xml 中。

从那时起,双方的技术都在进步(Java 方面有 Metro 项目,强调与 .NET 世界的互操作性);不幸的是,我一直忙于其他项目,并没有跟上细节。但从我到目前为止所读到的内容来看,难道不应该使用(相对)新的标准(如 WS-Security、WS-Policy 等)正确做类似的事情吗?

从那时起我就有机会更新代码,这次我真的很想“正确”地做到这一点。旧解决方案让我困扰的是,安全 token 的存在没有反射(reflect)在 wsdl 中(任何实现客户端的人都必须从其他来源了解它,并包括我为处理程序提供的一些类, token 和一些额外的代码行将它们连接到 Web 服务) - 据我了解 WS-* 规范,应该可以通过 WS-Policy 或 WS-SecurityPolicy 实现?

但不知何故,到目前为止,我无法在网上找到任何资源(示例、教程等)来解释人们如何开始实现类似的东西。

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

最佳答案

我自己没有使用过 Metro,但我只能推荐 SWS 或 CXF。 (但是,根据我的经验,WS 身份验证和授权绝非简单)

关于java - 简单的Web服务认证/授权不是那么简单吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6909294/

相关文章:

java - executorService 接口(interface)的 ShutdownNow 不会关闭正在进行的任务

c# - VOIP:PC 到 PC 通话和 session

web-services - BOM 不在 CF 中,但由 IIS/SharePoint 发送

c# - 为什么Windows.Forms.Timer的时间间隔随着tick的增加而减少?

c# - 在给定 Type 变量的情况下动态调用方法

ios - 如何向 iOS 中的所有 Controller 发送通知

java - 使用 <wsdl :import> over SSL redirection 使用 Web 服务

java - java中随机图像(d)按钮的确切数量

java - 如何正确地将滤镜应用于图像阵列?

c# - 获取应用程序的窗口句柄