我在iOS和Android Project中使用Worklight。 我也在使用适配器,进行安全性测试,并使用基于适配器的身份验证。
我想使用推送通知,用户ID来自基于适配器的身份验证功能。所以我使用相同的 securityTest 。
现在,当我尝试将我的安全测试与推送事件源一起使用时,出现错误“无法从数据库部署适配器”
WL.Server.createEventSource({
name : 'MyPushEventSource',
onDeviceSubscribe : 'deviceSubscribeFunc',
onDeviceUnsubscribe : 'deviceUnsubscribeFunc',
securityTest : 'MySecurityTest',
});
当我删除最后一行(securityTest)时,部署了适配器,当我添加它时,它失败了。
此securityTest已与多个其他适配器功能一起使用。
任何人都可以解释我的错误是什么? 提前谢谢。
编辑:这是我的安全测试定义:
<securityTests>
<customSecurityTest name="MySecurityTest">
<test isInternalUserID="true" realm="MyAuthRealm"/>
</customSecurityTest>
</securityTests>
答案 0 :(得分:2)
最后,对我有用的解决方案是添加一个新的安全测试,具有相同的领域,并且类型为mobileSecurityTest
<mobileSecurityTest name="MyPushSecurityTest">
<testUser realm="MyAuthRealm"/>
<testDeviceId provisioningType="none"/>
</mobileSecurityTest>
我认为这应该添加到当前的Worklight文档中,或者必须打开错误报告。
谢谢大家的帮助。
答案 1 :(得分:0)
似乎'server / conf / authenticationConfig.xml'中没有定义'MySecurityTest',请确保您添加了一个具有此名称的测试:
<securityTests>
<customSecurityTest name="MySecurityTest">
<test realm="..." isInternalUserID="..."/>
</customSecurityTest>
</securityTests>