Liferay身份验证Web服务

时间:2013-03-31 19:33:17

标签: web-services authentication liferay single-sign-on

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

2 个答案:

答案 0 :(得分:0)

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

此外,像你这样的问题我永远不能确定哪个Web服务正在使用什么基础设施:如果你在Liferay中编写使用外部Web服务的portlet,那么这与编写将服务委托给Liferay的Web服务的web服务不同。两者都是可能的(当然),但要求采用不同的方法:您必须使Liferay的服务可用(通过配置,默认情况下它们仅适用于127.0.0.1),但您可以使用任何您喜欢的WebService你的插件,没有Liferay有任何可说的内容。

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

答案 1 :(得分:0)

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

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

<script>
$(document).on('ready',function(){ 
            var username ="test@liferay.com";
            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>

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