2012-11-22 9 views
0

我有两个应用程序之一是业务流程管理(BPM)&另一种是文档管理系统(DMS),这两个系统公开的Web服务,以使其他系统的集成。两个系统均提供主登录用户名和密码以提供JSON API身份验证。例如在BPM内部启动一个进程(“process1”); DMS可以发送以下API调用都要进行两个系统之间的集成安全使用Web服务

/jw/web/json/workflow/process/start/process1?master_username=BPMadmin&master_password=982716171717&loginAS=currentusername 

和同样适用于调用DMS Web服务。

enter image description here

本安全方法的局限是,我无法调用任何DMS或使用JavaScript的BPM的Web服务,并使用javascript返回的JSON,因为如果我按照JavaScript方式我会消耗是露出master_username & MASTER_PASSWORD到最终用户,他们可以手动修改LoginAs参数到其他的用户名和执行他们无权做的动作。

所以我的问题是: -

  1. 我可以让Web服务调用的安全使用JavaScript?

  2. 什么其他安全方法我可以按照拨打电话的安全使用JavaScript的Web服务

    秒问题?考虑到我可以将网络服务安全性修改为其他方法,而不是使用主登录用户名和密码,但是这可能需要我更多的时间和精力。

预先感谢任何帮助 问候

回答

0

所有的JS首先是客户端,并且不包含任何特殊的安全/魔法/不可逆转的功能,如浏览器辅助加密引擎,高篦SPRNG为密钥生成等等。长久以来,任何与js有关的事情都是不安全的,它可能会被混淆,但它不会安全。这是你已经提出的观点。另一种方法是将您的服务器用作“代理”。因此,可以说你正在设计一个JS辅助图形用户界面,并显示一些文件RO是这样,那么你做一个Ajax请求你的应用服务器(不BPM也不DMS),并将其作为代理,将做认证对DMS和调用WS,然后将结果返回给你的JS :)所以你的设置看起来像JS(会话) - >应用程序(ws auth) - > DMS - >应用程序(sesion) - > JS(我假设你已验证用户,我们将使用用户会话JS < - >服务器的安全通道,如果不是你将不得不加入一些其他的js身份验证机制可能一次通过或东西,但它会很容易,因为它是你的系统)。瞧。只有安全考虑是不允许任何人打电话给你的服务器代理网站:)

+0

u能解释乌尔点在更多的细节 - 如果possible-? –

+0

我希望我把它清理一下:) – fatfredyy