2013-02-12 63 views
1

我遇到了使用Worklight适配器进行基本身份验证的问题。无论何时我对REST URL进行身份验证,它都可以正常验证。但是,身份验证似乎在Worklight服务器中创建会话。工作灯适配器基本身份验证缓存?

如通话

function getTaskList(username,password) { 

    var input = { 
     method : 'post', 
     returnedContentType : 'json', 
     path : 'rest/url', 
     headers: { 
      'Authorization': 'Basic '+base64Encode(username+':'+password), 
     } 
    }; 

    return WL.Server.invokeHttp(input); 
} 

Whenver我尝试从其它设备登录,工作灯服务器以为我已经登录,您可以关闭会话支持在工作灯的服务器或防止缓存?我想每次都对REST URL进行身份验证。这怎么可能?

回答

2

<procedure>元素的适配器XML文件中,您应该添加 connectAs="endUser"。与后端的连接将以用户的身份创建。

对不起,我不明白你的问题。

为了每次你需要做的时间来验证在您需要将您cookiePolicy属性更改为IGNORE_COOKIES

<connectionPolicy xsi:type="http:HTTPConnectionPolicyType" cookiePolicy="IGNORE_COOKIES" maxRedirects="int"></connectionPolicy> 
+0

这不起作用适配器XML文件中的connectionPolicy。 Worklight Server正在为第一个用户存储JSESSIONID。当发出另一个getTaskList('user2','password2')时,Worklight Server仍会从原始用户返回任务(使用JSON)。该适配器仅在Worklight Studio中重新部署以确保。所有调用都来自RunAs-> Worklight Procdure。 – 2013-02-13 15:45:09

+0

我已经更新了答案。 – 2013-02-14 11:57:19

+0

奇妙地工作。谢谢。 – 2013-02-15 15:35:36