Iframe 如何实现liferay portal的单点登录?

Iframe 如何实现liferay portal的单点登录?,iframe,liferay,single-sign-on,Iframe,Liferay,Single Sign On,我使用liferay开发了一个门户,并使用iframe添加了一个应用程序作为portlet。应用程序需要登录。现在我想实现单点登录 我如何做到这一点 请找到以下步骤来执行相同的操作 步骤: 1-安装CAS 我下载了CAS服务器分发版。所有(最近的)下载都可在此处获得: 2-引爆tar.gz,我抓起了cas-server-3.4.5/modules/cas-server-webapp-3.4.5.war 3-将文件重命名为cas-web.war 4-复制war文件并将其粘贴到Tomcat weba

我使用liferay开发了一个门户,并使用iframe添加了一个应用程序作为portlet。应用程序需要登录。现在我想实现单点登录


我如何做到这一点

请找到以下步骤来执行相同的操作

步骤:

1-安装CAS

我下载了CAS服务器分发版。所有(最近的)下载都可在此处获得:

2-引爆tar.gz,我抓起了cas-server-3.4.5/modules/cas-server-webapp-3.4.5.war

3-将文件重命名为cas-web.war

4-复制war文件并将其粘贴到Tomcat webapps目录

5-我之前没有停止Tomcat,所以Tomcat仍然在运行,我点击了浏览器,并被有益地重定向到cas web/login。默认演示CAS webapp验证用户名等于密码的位置,因此我尝试以“身份”登录test@liferay.com“与”test@liferay.com"

6-CAS很有帮助地告诉我,我已经登录了,当然没有登录任何有用的东西,因为我没有尝试登录任何特定的应用程序

已将Liferay配置为使用CAS进行身份验证

7-使用在liferay中创建帐户test@liferay.com密码test@liferay.com,这与CAS帐户相同

8-要下载耶鲁CAS客户端2.0.11,请访问

9-创建文件夹并将cas.client zip文件解压缩到此文件夹中

10-打开文件夹并导航到casclient jar文件(cas-client-2.0.11\java\lib)

11-复制文件

12-转到Tomcat中的lib文件(webapps\ROOT\WEB\u INF\lib)并粘贴casclient jar文件以替换现有文件

13-在命令提示符下,转到根目录。(/liferay-portal-6.1.10-ee-ga1/tomcat-7.0.25/webapps/ROOT)

14-输入以下内容:

keytool-genkey-alias tomcat-keypass changeit-keyalg RSA

15-输入changeit作为密码

回答问题清单。请注意,名字和姓氏必须是服务器的主机名,不能是IP地址。这一点非常重要,因为IP地址即使正确,也会导致客户端主机名验证失败

输入密钥库密码:changeit 你的名字和姓氏是什么? :localhost 您的组织单位名称是什么? : 你的组织名称是什么? : 你所在的城市或地区叫什么名字? : 你所在的州或省叫什么名字? : 这个单位的两个字母的国家代码是什么? : CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown正确吗? :是的

17-输入以下命令以导出从个人密钥库生成的证书:

keytool-export-alias tomcat-keypass changeit-file server.cert

18-输入changeit作为密码

19-使用以下命令将证书导入Java的密钥库:

keytool-import-alias tomcat-file%file\u NAME%-keypass changeit-keystore%JAVA\u HOME%/jre/lib/security/cacerts

(确保替换%FILE\u NAME%type server.cert)

20-输入changeit作为密码

21-输入是

22-要设置Liferay门户,请导航到Tomcat中的类文件(webapps\ROOT\WEB\u INF\classes)

23-在服务器类路径中的某个位置创建portal-ext.properties(如果它还不存在):

24-打开portal-ext.properties并输入:

cas.auth.enabled=true cas.import.from.ldap=true cas.login.url= cas.logout.url= cas.server.url= cas.validate.url=

25-节省

26-启动Tomcat并转到Liferay门户-->通过左侧的用户名和密码登录框登录Liferay——如果用户将以独占方式使用CAS登录。(而不是单击右上角的登录链接。)

27-转到控制面板->门户设置->身份验证->CAS

(a) -启用检查 (b) -确保键入的所有URL与portal-ext.properties文件中提到的相同

28-保存它

29-然后从Liferay注销

30-单击右上角的登录链接再次登录Liferay

31-如果一切设置正确,您将被重定向到CAS服务器的登录屏幕

32-以“身份登录”test@liferay.com“与”test@liferay.com“作为密码

33-CAS会将您带着有效的服务票证发送回Liferay,Liferay会验证服务票证,您将以此身份登录Liferaytest@liferay.com测试用户

34-然后单击注销

35-由于Liferay现在配置为使用CAS,因此它会将您发送到CAS注销URL

有关更多详细信息,请查看以下链接。


希望它能帮助你

我想给出一个比已经给出的非常具体的答案更短的答案(顺便说一句:请注意链接指向Liferay 4.3文档-这至少有7或8年的历史了。如果不看它,我不确定它到底有多准确

实现“单点登录”意味着所有相关应用程序必须使用相同的“单点登录”系统,以便可以安全地重用身份。Liferay集成了许多SSO系统,其中包括CAS、Shibboleth和(适用于企业版)SAML。您需要决定一个,为您的iframe应用程序实现它,并为Liferay配置它。通常这涉及将您的用户帐户保存在所有应用程序共享的LDAP目录中(否则,您将只得到当前登录用户的名称)


当然,另一种更优雅的集成方式是抛弃iframe并在portlet中实现其他应用程序的UI。通过这种方式,Liferay将为您处理身份验证,portlet将获得有关当前登录用户的第一手信息。这就是门户可以并将为您提供的信息——iframe是在门户的同一页面上显示任何完全外部的应用程序是一个快速的技巧。我想这是关于“显示”,而不是关于“集成”该应用程序。

我在这一步遇到一个错误:1