1

私は LifeRay を使用しており、ある種の特別な認証が必要です。私のユーザーは、Apache Web サーバーによって検証される x.509 証明書を持っています。検証が成功すると、ユーザーは Tomcat とそこの LifeRay にリダイレクトされます。

ここで、次のことを行いたいと考えています。ユーザーの証明書のサブジェクト DN をプログラムで取得し、この DN に接続されている LifeRay ユーザーにログインします。

これまでのところ、私は次のものを持っています:

  • 証明書から DN を取得するフック「login.events.pre」を作成しました
  • この DN を持つユーザーの LifeRay DB を検索します (UserLocalServiceUtil.getUserByOpenId() を使用)。
  • UserLocalServiceUtil.authenticateByScreenName() を使用してユーザーを認証する

私の質問は、これを行うための「最良の」/最もクリーンな方法か、または LifeRay DB のクエリ、ユーザーの認証などに他の方法を使用する必要があるかどうかです。たとえば、フックの代わりに、LifeRay の Ext-Extensions を作成できます。さらに、「com.liferay.portlet.login.util.LoginUtil.login」または User user = PortalUtil.getUser(request); のようなものを見つけました。ユーザーを取得します。

それらの質問に答えているドキュメントの場所はありますか? APIはそれほど包括的ではありません...

4

0 に答える 0