2

我在我的 iOS 和 Android 项目中使用 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>
4

2 回答 2

2

最后,对我有用的解决方案是添加一个新的安全测试,具有相同的领域,并且类型为 mobileSecurityTest

   <mobileSecurityTest name="MyPushSecurityTest">
        <testUser realm="MyAuthRealm"/>
        <testDeviceId provisioningType="none"/>
    </mobileSecurityTest>

我认为这应该添加到当前的 Worklight 文档中,或者必须打开一个错误报告。

谢谢大家的帮助。

于 2013-03-15T08:56:55.850 回答
0

似乎在“server/conf/authenticationConfig.xml”中没有定义“MySecurityTest”,请确保您在那里添加了一个具有此名称的测试:

<securityTests>
    <customSecurityTest name="MySecurityTest">
        <test realm="..." isInternalUserID="..."/>
    </customSecurityTest>
</securityTests>
于 2013-03-14T15:07:10.327 回答