Ловушка Liferay: URL-адрес фильтра дает ошибку запуска фильтра, а текущий URL-адрес генерирует исключение NULL - PullRequest
1 голос
/ 11 ноября 2010

Я пытаюсь сделать автологинфильтр в Eclipse с помощью ловушки для спасательного круга.

Теперь я добавил:

<filter>
    <filter-name>myautologinfilter</filter-name>
    <filter-class>bla.bla.xyz</filter-class>
</filter>
<filter-mapping>
    <filter-name>myautologinfilter</filter-name>
    <url-pattern>/c/login/myurl</url-pattern>
</filter-mapping>

к файлу liferay hook.xml.

В liferay-hook.xml я добавил: <portal-properties>portal.properties</portal-properties>

И в этот файл hook.xml я добавил: auto.login.hooks=bla.bla.xyz

bla.bla.xyz реализует AutoLogin, но пока он довольно потрошен:

@Override
    public String[] login(HttpServletRequest request, HttpServletResponse response)
            throws AutoLoginException {
        Object parameters = request.getAttribute("javax.servlet.forward.query_string");
        Map<String, String> x = parserClass.parsing(parameters.toString());

        System.out.println("voornaam: " + geparsdeParameters.get("tokenvalue1"));


        try {
            return null;
        } catch (Exception e) {
            throw new AutoLoginException(e);
        }

    }

Поскольку ловушка не запускается, когда я добавляю фильтрацию, я удалил ее и просто попытался:

http://localhost:8080/c/portal/login?tokenvalue1=55

но когда я проверяю своего кота, я вижу: Error XYZ Url: url myUsedUrl exception null

Также я попытался добавить некоторые классы утилит, но получил classnotfoundexception с.

Есть ли что-то конкретное, что мне нужно сделать, когда я добавляю дополнительные классы в ловушку?

1 Ответ

0 голосов
/ 30 декабря 2010

Вы не должны добавлять свой фильтр в web.xml - просто добавьте его в свойство auto.login.hooks .Исходное свойство из LR 6.0.5 portal.properties:

auto.login.hooks=com.liferay.portal.security.auth.CASAutoLogin,\
    com.liferay.portal.security.auth.FacebookAutoLogin,\
    com.liferay.portal.security.auth.NtlmAutoLogin,\
    com.liferay.portal.security.auth.OpenIdAutoLogin,\
    com.liferay.portal.security.auth.OpenSSOAutoLogin,\
    com.liferay.portal.security.auth.RememberMeAutoLogin,\
    com.liferay.portal.security.auth.SiteMinderAutoLogin

Переопределить это свойство в файле portal-ext.properties - добавить bla.bla.xyz вконец цепи или замените все фильтры на свои.

...