2013-03-31 52 views
1

我是Liferay中的新成员。 我想使用Liferay作为我的后端,并且我有几个Web服务与它进行交互。 我在哪里可以找到文档(或一些示例)来提供Web服务以用于身份验证liferay用户? 这只是为了开始并熟悉仪器。然后,我必须在此Web服务中集成单一登录系统。 在此先感谢Liferay认证web服务

回答

0

我相信developer's guide的章节11和12可能包含一些有价值的信息。关于登录 - 而且正如你已经提到的SSO - 我建议认证到一个共同的后端,而不是直接给Liferay。 Liferay支持一些开箱即用的SSO系统。 Liferay的Web服务是通过ServiceBuilder生成的(也阅读该章节),并且您可以通过它们的名称来识别它们 - 例如UserService是处理用户管理的远程服务(UserLocalService是不可远程访问的,Servicebuilder文档将教你关于这些名称的各种后缀,如* Util,* Impl等)。

此外,我从来没有完全确定哪个Webservice正在使用什么基础架构:如果您在使用外部Web服务的Liferay中编写portlet,那么与编写将某些操作委托给Liferay的Webservices的Web服务是完全不同的故事。两者都是可能的(当然),但要求一种不同的方法:您必须使Liferay的服务可用(通过配置,默认情况下它们仅可用于127.0.0.1),但您可以使用任何您喜欢的WebService你的插件,没有Liferay有任何话要说。

只有当你想在市场上发布你的插件时,你需要声明你想要连接的位置 - 因此你需要在这种情况下阅读PACL。

0

您可以通过网站服务的步骤教程找到步骤。 http://www.liferaysavvy.com/2014/05/consuming-liferay-json-web-services.html

您可以在下面的Java脚本的帮助下使用身份验证来调用Web服务。

<script> 
$(document).on('ready',function(){ 
      var username ="[email protected]"; 
      var password ="test"; 
      function make_base_auth(user, password) { 
       var tok = user + ':' + password; 
       var hash = btoa(tok); 
       return "Basic " + hash; 
      } 
       $.ajax({ 
        url: 'http://localhost:8080/api/jsonws/CustomJsonWebservices-portlet.employee/get-employee/emplyee-id/1', 
        dataType: "json", 
        type: "get", 
        success: function(data){ 
          alert('Employee Data with Id 1 is');  
          alert(data.emplyeeName); 
          alert(data.employeeDesignation); 
        }, 
        beforeSend: function(xhr){ 
          xhr.setRequestHeader('Authorization',make_base_auth(username, password)); 
            }, 
            complete: function(){ 
            }, 
        error: function(){ 
        } 
       }); 

}); 
</script> 

您可以在下面找到关于Web服务的完整代码。 https://drive.google.com/file/d/0B9B1NsG0lyx6Q2dlUVp6LU5fX0E/view?usp=sharing