我目前正在使用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>
test.cfc
component{
remote any function sayHello ( string yourname = 'anonymous')
returnformat='JSON' verifyclient='true'{
return 'Hello ' & arguments.yourname;
}
}