问:如何通过使用Phone gap或sencha的javascript实现Drupal 7身份验证?
答:Drupal的Service模块提供了实现此类API的资源。您可以使用服务模块并启用其内置的登录/注销资源。
请按照以下步骤使用Phonegap,Sencha或任何其他远程应用程序中的JS来实现登录验证:
1:安装并启用服务模块。
2:创建服务端点并添加其路径。
3:在资源选项卡中,选择用户复选框(登录和注销)。
4:启用REST服务器响应格式化程序和请求解析
5:要测试来自Drupal Services的资源,请在firefox中安装海报并检查您添加的服务:-工具->海报
网址:http:// localhost / my_drupal_site /?q =/system/connect.json
内容类型:application / x-www-form-urlencoded
动作:开机自检
6:如果建立连接,则继续执行步骤7,否则检查您的连接。
7:在远程应用程序中创建简单的php登录页面,然后调用以下javascript进行ajax调用:
$('#page_ dashboard')。live('pageshow',function(){
尝试{
$ .ajax({
网址:“ http://10.0.2.2/my_drupal_site/?q=my_services/system/connect.json”,
类型:“ post”,
dataType:'json',
错误:函数(XMLHttpRequest,textStatus,errorThrown){
alert('page_ dashboard-无法连接系统');
console.log(JSON.stringify(XMLHttpRequest));
console.log(JSON.stringify(textStatus));
console.log(JSON.stringify(errorThrown));
},
成功:功能(数据){
var drupal_ user = data.user;
如果(drupal_ user.uid == 0){//用户未登录,则显示登录按钮,隐藏注销按钮
$('#button_ login')。show();
$('#button_ logout')。hide();
}
else {//用户已登录,隐藏登录按钮,显示注销按钮
$('#button_ login')。hide();
$('#button_注销').show();
}
}
});
}
catch(error){alert(“ page_ dashboard-” + error); }
});
这只是一个jQuery代码,可以在使用jQuery的任何远程应用程序中使用。我希望这能帮到您。