1

我目前正在使用 CF 会话管理,并且一直在研究如何过渡到使用 J2EE 会话管理。在我尝试这样做时,向 CF cfc 远程方法发出的 ajax 请求(当 CFsession 管理设置为使用 J2EE 会话时)未能通过 verifyclient 授权。下面的代码在会话管理使用 CF 会话管理时有效。

我的假设是 _cf_clientid 不再是传递给远程方法的正确值 - 因为它是使用 cfid 和 cftoken 生成的。

如何成功实现 J2EE 会话管理并通过 verifyclient 使用远程 cfc 方法?还是不能做?使用 CF 标签 cfajaxproxy 不是一个选项。

下面的示例代码演示了如何使用 jQuery ajax 通过 verifyclient='true' 调用远程 cfc 方法,即使 CF 文档表明需要使用 cfajaxproxy。不是这种情况。(感谢 Ray Camden 和 DWMommy。)这让我相信,在使用 J2EE 会话时,也可能有一种解决方法来实现类似的方法来验证客户端。

提前致谢!

<script src="/plugins/jquery-1.7.2.min.js" type="text/javascript" language="Javascript"></script>
<cfajaximport />
<script>
$(function() {
            $.ajax({
                url: 'test.cfc',    
                type: 'get',
                dataType: 'json',
                data: {
                    method: 'sayHello',
                    yourname: 'Foo'
                    ,_cf_clientid: _cf_clientid
                },
                success: displaySearchResults
            });
});
</script>
<script>
    function displaySearchResults(res){
        $('#searchResults').html( res );
    }
</script>
<div id="searchResults"></div>

测试.cfc

component{
    remote any function sayHello ( string yourname = 'anonymous') 
        returnformat='JSON' verifyclient='true'{
        return 'Hello ' & arguments.yourname;
    }
}
4

0 回答 0