2

私はliferayポータルを初めて使用します。残念ながら、提起されている質問は単純かもしれませんが、私にはわかりません。どうか明らかにしてください。

Tomcat で Liferay を使用してポータルを構築しようとしています。このポータルは Netegrity SiteMinder によって認証される必要があり、Tomcat セキュリティ上に構築された内部認証メカニズムがあります。以下にリストした 2 つの分野について質問があります

  1. Liferay での Siteminder の有効化に関する質問 Liferay 内で Siteminder が有効になっている場合でも、Liferay ポータルでユーザーを構成して、siteminder で認証されたユーザーがポータル ページにアクセスできるようにする必要があります。

  2. 承認 - 私の目的は、Liferay でユーザーとロール、およびそれらの関連付けを構成しないようにすることです。これは、構築したいポータルが、すでに導入されている tomcat セキュリティ カスタマイズ フレームワークに依存する必要があるためです。

利用可能な一連のリンクを含むポートレットをデプロイしました。これらのリンクは、ユーザーのアクセス許可に基づいて利用できるはずです。そのため、Tomcat-users.xml でユーザーと一連のロールを構成し、liferay-portlet.xml、portlet.xml、web.xml で役割マッピングを定義し、ポートレットを展開し、liferay.xml でレルム構成も変更しました。以下のように

appName="PortalRealm" userClassNames="com.liferay.portal.security.jaas.PortalPrincipal"

roleClassNames="com.liferay.portal.security.jaas.PortalRole"

debug="99" useContextClassLoader="false"/>

ユーザー (liferay と tomcat-users.xml の両方で設定) で Liferay ポータルにログインし、ページにポートレットを追加したところ、request.isUserInRole("Role x") が false を返したため、リンクが表示されないことがわかりました。同じロールを構成してユーザーに関連付けてみたところ、リンクが機能していることがわかりましたが、期待される動作は見られません。

これについて私を助けてください。迅速な対応をおねがいします。

ありがとうカライアラサン

4

1 に答える 1

0

1) 通常、ユーザーは外部認証からインポートされます。ツールを Liferay に追加します。私の経験は LDAP (OpenDJ) 認証に基づいています。Liferay への統合。ユーザーがグループで編成されている場合は、それらのグループをインポートして、インポートしたユーザーをそれらのグループに関連付けることもできます。最後のステップは、これらのグループに必要な権限を付与することです。したがって、適切なロールを持つ通常の Liferay ユーザーになり、必要に応じて適切なグループに属します。これらはすべて、外部の Tomcat 構成に由来します。

2) Tomcat に既にあるユーザーと役割を Liferay にインポートすることをお勧めします (はい、現在承認されているユーザーとその役割をインポートするコードを書くことで、承認中に自動的に行うことができます)。これにより、Liferay の組み込みメカニズムを使用してパーミッションを微調整し、オーバーライドの干渉を少なくする柔軟性が得られます。カスタム権限の処理を行うためにオーバーライドできる AdvancedSecurityChecker クラスもありますが、あまりお勧めできません。

最後に、将来の Liferay バージョンへのアップグレードに注意してください。オーバーライドしてカスタマイズする Liferay 機能が多いほど、アップグレードが難しくなります。

于 2014-04-04T13:05:24.263 に答える