0

私は自分の liferay tomcat バンドルの例を必死に再現しようとしています: http://liferay-blogging.blogspot.be/2011/08/how-to-change-liferay-login-module.html

著者のパッケージとクラスを再作成しました:

package de.test.auth;

import java.util.Map;
import com.liferay.portal.security.auth.AuthException;
import com.liferay.portal.security.auth.Authenticator;

public class RefuseAuthenticator implements Authenticator {

public int authenticateByEmailAddress(long arg0, String arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException {

    System.out.println("failed by mail");
    return FAILURE;
}

public int authenticateByScreenName(long arg0, String arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException {

    System.out.println("failed by screen name");
    return FAILURE;
}

public int authenticateByUserId(long arg0, long arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException {

    System.out.println("failed by user id");
    return FAILURE;
}

}

パッケージを LR-portal/TOMCAT/lib/ext フォルダーに配置した jar ファイルとしてエクスポートしました

私は2行を追加しました:

auth.pipeline.enable.liferay.check=false
auth.pipeline.pre=de.test.auth.RefuseAuthenticator

LR-portal/TOMCAT/webapps/ROOT/WEB-INF/lib/portlet_impl.jar にある標準の portal.properties ファイル。portal-ext.properties ファイルにあるはずですが、とにかく機能しなかったので、考えられる副作用をすべて排除しました。

残念ながら、Liferay は私のユーザーを通常どおりに記録し続けます。Liferay でカスタム コードを実行するためのフックと ext メソッドについて読んだので、何か不足している可能性があります。ここに書き込む前に、多くのフォーラムの投稿を読みました。

liferay-ce-portal-7.0-ga3 tomcat バンドルを使用しています。

ありがとう。

4

2 に答える 2

0

あなたの考えをありがとう。私はついにフックを使ってこれを回避しました。私は、Liferay の Shibboleth 認証プラグインをベースにしています (github を参照)。もともとmavenでビルドされていましたが、LiferayプラグインSDK環境を使用できるようにantに変換することができました。

于 2016-10-25T11:27:01.120 に答える