IBM MobileFirst 7.1:使用 connectAs="endUser" 时检索 cookie

Posted

技术标签:

【中文标题】IBM MobileFirst 7.1:使用 connectAs="endUser" 时检索 cookie【英文标题】:IBM MobileFirst 7.1: Retrieve the cookie when connectAs="endUser" is used 【发布时间】:2016-05-30 15:39:20 【问题描述】:

在我们的项目中,我们使用有状态的后端服务,因此我们使用带有连接 connectAS="endeUser" 的 HTTP 适配器。我们想以编程方式知道 cookie 是否已经存在

是否有一些(也未记录的)API 允许我们探索适配器和后端服务之间的 cookie(例如 WL.Server.getClientRequest().getCookies() 探索客户端和适配器之间的 cookie)?

谢谢, 亚科波

【问题讨论】:

【参考方案1】:

要从适配器获取包含 cookie 的客户端请求,您将使用 WL.Server.getClientRequest(),这将使您能够访问 HttpServletRequest 对象。因此,您可以访问它的所有方法,包括 getCookies() 以获取更多信息 http://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html

如果您想获取特定 cookie 的值,则需要遍历 cookie 数组。例如。

function testProcedure() 

    var cookies = WL.Server.getClientRequest().getCookies();

    cookies.forEach(function(cookie)
        var name = cookie.getName(),
            value = cookie.getValue();

        if(name == 'myCookie') 
            // read/update cookie info
        

        // Cookie Object
        // http://docs.oracle.com/javaee/7/api/javax/servlet/http/Cookie.html
    );

    return 
        cookies: cookies.length
    ;

【讨论】:

以上是关于IBM MobileFirst 7.1:使用 connectAs="endUser" 时检索 cookie的主要内容,如果未能解决你的问题,请参考以下文章

IBM MobileFirst 7.1 中生成密钥库的位置

如何使用 IBM MobileFirst 7.1 实现文件下载?

IBM MobileFirst 7.1:使用 connectAs="endUser" 时检索 cookie

设置 IBM Mobilefirst 7.1 时无法使用服务器配置工具部署服务器配置

IBM MobileFirst 服务器 7.1 PushNotification 订阅者 ID(USERID) 未存储

在 Xcode 中运行时,IBM MobileFirst 7.1 混合应用程序构建失败