Liferay веб-сервис аутентификации

Я новичок в Liferay. Я хочу использовать Liferay в качестве моего бэкэнда, и у меня есть несколько веб-сервисов для взаимодействия с ним. Где я могу найти документацию (или какой-нибудь пример), чтобы предоставить веб-сервис для аутентификации liferay пользователя? Это только начало и знакомство с инструментом. Затем я должен интегрировать систему единого входа в этот веб-сервис. заранее спасибо

2 ответа

Я полагаю, что главы 11 и 12 руководства разработчика могут содержать некоторую ценную информацию. Что касается входа в систему - и, как вы уже упоминали, SSO - я бы порекомендовал проходить аутентификацию в общем бэкэнде, а не напрямую в Liferay. Liferay поддерживает сразу несколько систем единого входа. Web-сервисы Liferay создаются с помощью ServiceBuilder (также прочтите эту главу), и вы узнаете их по их именам - например, UserService - это удаленный сервис, обрабатывающий управление пользователями (UserLocalService - это тот, который не доступен удаленно, документация по сервисному построителю расскажет вам о различные постфиксы к этим именам, такие как *Util, *Impl и т. д.)

Кроме того, с такими вопросами, как ваш, я никогда не до конца уверен, какой веб-сервис использует какую инфраструктуру: если вы пишете портлеты в Liferay, которые используют внешние веб-сервисы, это другая история, чем вы пишете веб-сервисы, которые делегируют некоторые действия веб-сервисам Liferay. Оба варианта возможны (конечно), но просят другой подход: вам придется сделать сервисы Liferay доступными (через конфигурацию, по умолчанию они доступны только для 127.0.0.1), но вы можете использовать любой WebService, который вам нравится ваши плагины, без Liferay, что-либо сказать в этом.

Только когда вы захотите опубликовать свои плагины на рынке, вам нужно будет указать, куда вы хотите подключиться - таким образом, вам придется читать о PACL в этом случае.

Вы можете найти пошаговое руководство для веб-службы. http://www.liferaysavvy.com/2014/05/consuming-liferay-json-web-services.html

Вы можете вызвать веб-сервис с помощью скрипта Java, как показано ниже, с аутентификацией.

<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

Другие вопросы по тегам