我正在使用liferay并实现了cas + ldap并且它在服务器中工作正常,现在我有一个问题,我如何创建一个portlet来重定向到外部URL并使用经过身份验证的同一个用户的liferay?
我试过
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门户网站并传递@screen_name@
和@password@
,但它不起作用(另一个网站是http并且有一个captchat)。
我是否可以在其他网页上传递jsessionid或类似的身份验证而无法修改该应用程序或我需要修改外部网页?在这种情况下,我需要在外部网络中添加什么?谢谢!
答案 0 :(得分:0)
回答你的问题:
我可以将jsessionid或类似内容传递给另一个网站进行身份验证 页面无权修改该应用程序或我需要 修改外部网页?
这实际上取决于。当你说外部URL时,你指的是同一个Web服务器或不同的Web服务器上的外部应用程序。如果jsession id配置正确完成,可以在同一个Web服务器上服务器端。
在这种情况下,我需要在外部网络中添加什么?
考虑到您正在与其他服务器上的应用程序进行交互,您需要设置一些机制,例如OAuth,以便在不同的应用程序上对用户进行身份验证