2016-08-10 2 views
0

Я работаю с liferay и реализовал cas + ldap, и он отлично работает на сервере, теперь у меня вопрос, как я могу создать портлет для перенаправления на внешний URL-адрес и использовать того же пользователя, который был аутентифицирован в liferay?Liferay с CAS и LDAP, доступ к внешней веб-странице

Я попытался

public class gotoURL extends MVCPortlet throws IOException { 
    private String sessionID = null; 

    public void addDetails(ActionRequest request, ActionResponse response) { 
     Cookie[] c =request.getCookies(); 
     for(int i =0;i<c.length;i++){     
      if(c[i].getName().equals("JSESSIONID")){ 
       sessionID = c[i].getValue(); 
      } 
     }  
     response.encodeURL("my_external_web");  
     response.sendRedirect("my_external_web");   
    } 
} 

я также пытался сделать Iframe в Liferay портала и передать @[email protected] и @[email protected] но did't работы (другой веб является HTTP и имеют captchat).

Могу ли я передать jsessionid или аналогичный для аутентификации на другой веб-странице без доступа для изменения этого приложения или мне нужно модифицировать внешнюю веб-страницу? в этом случае, что мне нужно добавить во внешнюю сеть? Благодаря!

ответ

0

Чтобы ответить на ваш вопрос:

Могу ли я передать JSESSIONID или аналогичные проверки подлинности в другой веб-странице без иметь доступ к модификации этого приложения или мне нужно modifiy внешний веб-страницы?

Это на самом деле depends.When вы говорите, внешний URL-адрес, вы имеете в виду внешнее приложение на одном веб-сервере или другой веб-server.It можно на одном веб-сервере, при условии, что конфигурация jsession идентификатор делается правильно на сервере.

В этом случае, что мне нужно добавить во внешнюю сеть?

Учитывая вы взаимодействуете с приложением на другом сервере, вам необходимо создать некий механизм, такой как OAuth для аутентификации пользователя на различных приложений

+0

в другом сервере, но я использую Cas + LDAP для sso, мне нужно реализовать OAuth тоже для того, чтобы это сработало? – El0din

+0

Таким образом, использование CAS будет осуществимым вариантом, если другое ваше приложение поддерживает аутентификацию через него, иначе для этого потребуется OAuth. –

Смежные вопросы