gpt4 book ai didi

liferay-6 - Liferay 6 , 自定义登录页面

转载 作者:行者123 更新时间:2023-12-01 11:03:21 26 4
gpt4 key购买 nike

我正在使用 Liferay 6 进行开发,我已经开发并部署了 Liferay6 Struts2 Portlet。使用自定义 JSP Hook ,我覆盖了 $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 页面。现在请告诉我如何在点击提交按钮时编写一个 java 类来验证 aganist 数据库的凭据。

请告诉我如何在类里面接收这些值并验证它们。

谢谢

最佳答案

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

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

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

  2. 编写你自己的类,它应该实现 liferay 的 Authenticator 接口(interface),你必须重写 Authenticator 接口(interface)的 3 个方法。

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

为了绕过liferay默认的认证机制,在portal-ext.properties上做如下配置auth.pipeline.pre=your.package.your.class

仍然liferay检查自己的数据库。为避免这种情况,请在 portal-ext.properties 上添加以下配置。

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

因此,您拥有自己的自定义身份验证,您可以在其中根据自己的数据库或您想要的任何机制进行身份验证。

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

希望对你有帮助

关于liferay-6 - Liferay 6 , 自定义登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8679786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com