Liferay hook:过滤器 url 给出 filterstart 错误,当前 url 生成异常 null

发布于 2024-10-02 01:15:36 字数 1577 浏览 7 评论 0原文

我正在尝试使用 liferay hook 在 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 的 web.xml 中。

在 liferay-hook.xml 中,我添加了: 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

但是当我检查我的 tomcat 时,我请参阅:错误 XYZ Url:url myUsedUrl 异常 null

另外,我尝试添加一些 util 类,但我得到了 classnotfoundexception

当我在钩子中添加额外的类时,有什么具体的事情需要做吗?

I'm trying to make an autologinfilter in Eclipse using a liferay hook.

Now I've added the:

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

to the liferay hook's web.xml.

In the liferay-hook.xml I added: <portal-properties>portal.properties</portal-properties>

And in that hook.xml I added: auto.login.hooks=bla.bla.xyz

bla.bla.xyz implements AutoLogin, but for now it's pretty gutted:

@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);
        }

    }

Since the hook doesn't start when I add the filtering I removed it and just tried:

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

but when I check my tomcat I see: Error XYZ Url: url myUsedUrl exception null

Also I tried adding some util classes but I got classnotfoundexceptions.

Is there anything specific I have to do when I add extra classes in a hook?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

影子是时光的心 2024-10-09 01:15:36

您不应在 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 添加到链的末尾或替换所有用你的过滤器。

You should not add your filter in web.xml - just add it to auto.login.hooks property. Original property from 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

Override this property in portal-ext.properties file - add bla.bla.xyz to the end of chain or replace all filters with yours.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文