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