Крючок Liferay: URL-адрес фильтра дает ошибку запуска фильтра, а текущий URL-адрес генерирует нулевое исключение

Я пытаюсь сделать autologinfilter в Eclipse, используя крючок liferay.

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

<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>

в web.xml хука liferay.

В 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

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

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


person jack    schedule 11.11.2010    source источник


Ответы (1)


Вы не должны добавлять свой фильтр в 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 в конец цепочки или замените все фильтры на свои.

person F. Lancer    schedule 30.12.2010
comment
но тогда он связан с c\portal\login. Дело было в том, чтобы сопоставить его с другим URL-адресом. - person jack; 31.12.2010