Liferay 6,自定义登录页面

时间:2011-12-30 13:12:19

标签: liferay-6

我正在使用Liferay 6进行开发,我开发了Liferay6 Struts2 Portlet并进行了部署。 使用自定义JSP钩子,我已经重写了$ PORTAL_ROOT_HOME / html / portlet / login login.jsp并创建了 我自己的jsp页面如图所示

<HTML>
    <HEAD>
        <TITLE>Login using jsp</TITLE>
    </HEAD>
    <BODY>
        <H1>LOGIN FORM</H1>
            <form>
                <table>
                    <tr>
                        <td> Username  : </td><td> <input name="username" size=15 type="text" /> </td> 
                    </tr>
                    <tr>
                        <td> Password  : </td><td> <input name="password" size=15 type="text" /> </td> 
                    </tr>
                </table>
                <input type="submit" value="login" />
            </form>
    </BODY>
</HTML> 

这很好用,自定义jsp页面正在显示。 现在请点击提交按钮告诉我,如何编写验证凭证aganist数据库的java类。

请告诉我如何在课堂上接受这些价值观并验证它们。

谢谢

1 个答案:

答案 0 :(得分:6)

此时你可能已经找到了解决方案。如果没有,您可以尝试以下方法。

我相信您正在尝试覆盖liferay的登录portlet。在这种情况下,有两种方法可以处理这种登录机制。(确保在liferay的登录页面上给输入字段赋予相同的名称)

  1. 扩展liferay的LoginAction类。您必须编写一个ext插件,或者如果您使用的是6.0 SP2或6.1,则可以使用钩子来扩展LoginAction类。 Refere mika的博客http://www.liferay.com/web/mika.koivisto/blog/-/blogs/7132115

  2. 编写自己的类,应该实现liferay的Authenticator接口,并且必须覆盖Authenticator接口的3种方法。

  3. 例如,如果要覆盖authenticateByEmailAddress(....),则必须返回SUCCESS(1)或FAILURE(-1)。我相信该方法的第二和第三个参数是在屏幕上输入的用户ID和密码。请参考liferay来源。

    为了绕过liferay的默认身份验证机制,请在portal-ext.properties上提供以下配置:auth.pipeline.pre = your.package.your.class

    对自己的数据库进行静态检查。为避免在portal-ext.properties上添加以下配置。

    auth.pipeline.enable.liferay.check =假。

    因此,您可以拥有自己的自定义身份验证,您可以根据自己的数据库或所需的机制进行身份验证。

    更多详情http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Developing+a+Custom+Authentication+System

    希望这有帮助