Ibm mobilefirst 如何对客户端隐藏worklight适配器过程,但对服务器可见?

Ibm mobilefirst 如何对客户端隐藏worklight适配器过程,但对服务器可见?,ibm-mobilefirst,worklight-adapters,worklight-security,Ibm Mobilefirst,Worklight Adapters,Worklight Security,我有一个SQL Worklight适配器,其中包含的过程不应暴露于除http Worklight适配器之外的任何内容。我不能在http适配器中将这些过程作为私有函数,因为不能在同一适配器中混合使用SQL调用和http调用 我已经考虑过定义一个安全测试,只允许来自服务器的调用使用它,有没有安全的方法可以做到这一点?我还应该使用其他方法吗 我使用Worklight 6.2.0 CLI版本。您可以使用穷人的安全方法,对所有DB适配器进行编码以获取额外参数,要求该参数获取只有服务器才能提供的值 使用安全

我有一个SQL Worklight适配器,其中包含的过程不应暴露于除http Worklight适配器之外的任何内容。我不能在http适配器中将这些过程作为私有函数,因为不能在同一适配器中混合使用SQL调用和http调用

我已经考虑过定义一个安全测试,只允许来自服务器的调用使用它,有没有安全的方法可以做到这一点?我还应该使用其他方法吗


我使用Worklight 6.2.0 CLI版本。

您可以使用穷人的安全方法,对所有DB适配器进行编码以获取额外参数,要求该参数获取只有服务器才能提供的值

使用安全测试肯定能奏效,我只是不确定它能做多少工作。据我所知,您无法在服务器上安装ChallengeHandler,因此无法使用教程中的简单身份验证模式。所以我想你会喜欢写你自己的领域


我的问题是这样做是否有真正的价值。相反,假设您只是使用相同的安全测试来保护所有适配器过程,这会更容易,因为标准ChallengeHandler模式可以工作,因为过程客户端位于WL.client空间中。现在,只有授权使用HTTP适配器的客户端才能使用SQL适配器。通过直接访问SQL适配器,他们获得了什么额外特权?如果您在HTTP适配器中执行一些额外的安全检查,可能需要重构到安全层或一些常见功能中。

谢谢您的回答。公开SQL适配器的问题在于,它们用于获取解密密钥,而任何客户端都不能使用这些密钥。HTTP适配器使用此密钥解密凭据以发送到后端服务。已理解。在这种情况下,我的两个建议中的任何一个都会起作用。这里重要的一点是,将有一些机密、密码或密钥或证书,或者只有服务器才有,并且您需要使用操作系统级控制来保护它们。