【发布时间】:2010-10-07 20:14:42
【问题描述】:
我是 Liferay 门户的新手。恐怕,提出的问题可能很简单,但我不知道。请澄清。
我们正在尝试在 Tomcat 上使用 Liferay 构建一个门户。这个 Portal 应该由 Netegrity SiteMinder 进行身份验证,我们有我们的内部授权机制,它建立在 tomcat 安全性之上。我对下面列出的两个方面有疑问
关于在 Liferay 中启用 Siteminder 的问题 在 Liferay 中启用 siteminder 后,我们是否仍需要在 liferay 门户中配置用户以使经过 siteminder 身份验证的用户进入门户页面。
授权 - 我的目标是避免在 Liferay 中配置用户和角色及其关联。这是因为我们要构建的门户应该依赖于已经到位的tomcat安全定制框架。
我部署了一个portlet,它有一组可用的链接,并且这些链接应该基于用户权限可用。因此,我在 tomcat-users.xml 中配置了用户和角色集,还在 liferay-portlet.xml、portlet.xml、web.xml 中定义了角色映射,并部署了 portlet,并在 liferay.xml 中更改了领域配置如下
appName="PortalRealm" userClassNames="com.liferay.portal.security.jaas.PortalPrincipal"
roleClassNames="com.liferay.portal.security.jaas.PortalRole"
debug="99" useContextClassLoader="false"/>
我使用用户登录到 Liferay 门户(在 liferay 和 tomcat-users.xml 中都进行了配置,并在页面上添加了 Portlet,并且看到链接未显示为 request.isUserInRole("Role x") 返回 false . 当我尝试配置相同的角色并将其关联到用户时,我看到链接工作。但没有看到预期的行为。
请帮助我。感谢您的快速响应。
谢谢 卡拉亚拉桑
【问题讨论】:
-
"授权 - 我的目标是避免在 Liferay 中配置用户和角色及其关联。这是因为我们要构建的门户应该依赖于已经存在的 tomcat 安全定制框架。 " - 您可能对此有疑问,因为 Liferay 有“社区”的概念,它为用户提供“范围”角色。我不知道您将此映射到“基于 tomcat 的安全框架”的情况如何。
-
我们最终不得不将角色等从我们的 SSO 系统引入 Liferay 顺便说一句。同步很糟糕,但它确实有效。
-
我们在类似的场景中所做的,使用 JCAS 作为 SSO 服务器和 Liferay 6,将 SSO 系统存储库映射到 Liferay 的数据库。这样我们就不需要同步了,可以使用Liferay来管理用户。
标签: tomcat authorization liferay siteminder