如何覆盖默认的 Liferay 登录身份验证?

2023-12-06

我正在使用 Liferay 6.1,我想覆盖默认的 Liferay 登录身份验证并希望设置我的自定义身份验证。

到目前为止,我所做的是,我创建了一个钩子插件,并在 Portal.properties 文件中设置了以下属性

auth.pipeline.pre=com.liferay.portal.security.auth.MyCustomAuthenticator
auth.pipeline.enable.liferay.check=false

其中 MyCustomAuthenticator 是我的自定义验证器类(它实现了 Authenticator)。

目前,Liferay 首先检查此自定义身份验证,但随后它也会再次转到 Liferay 本身进行进一步的 Liferay 身份验证。

我想覆盖这个 Liferay 验证。请帮我解决这个问题。 这是我的验证器类:

public class MyCustomAuthenticator implements Authenticator {  

  public int authenticateByEmailAddress(long arg0, String arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException {  

    System.out.println("succeeded by mail");  
    return SUCCESS;  
  }  

 public int authenticateByScreenName(long arg0, String arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException {  

    System.out.println("succeeded by screen name");  
    return SUCCESS;  
  }  

 public int authenticateByUserId(long arg0, long arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException {  

    System.out.println("succeeded by user id");  
    return SUCCESS;  
  }  

}  

在portal-ext.properties中添加以下属性,然后重新启动服务器

auth.pipeline.enable.liferay.check=false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何覆盖默认的 Liferay 登录身份验证? 的相关文章

随机推荐

  • 无法使用 GraalVM 生成本机映像

    我试图使用 quarkus 和 GraalVM 创建一个自定义运行时 Lambda 并在此过程中 https quarkus io guides amazon lambda 我试图为 Gradle 应用程序构建一个本机映像 我在 Windo
  • 选择随机行,但一列中没有重复的值

    这是从单个表中进行的简单选择 目的是随机选择四种产品 从 x 个类别中的每个类别中选择一种 并有一些 位置 限制 我试过这个 SELECT pName pID from products WHERE pDisplay 1 AND pFeat
  • 使用 PHPExcel 在 1 个单元格内设置不同的字体颜色

    我想使用 PHPExcel 让文本在 1 个单元格内具有不同的颜色 但我找不到有关它的信息 是否可以 我相信它可以从 xls 中完成 但是可以在 PHPExcel 中使用编程来完成吗 是的 可以使用 Rich Text 对象在 PHPExc
  • 比较集合的函数;帮助提高效率

    我正在尝试编写一个函数来比较两个列表以查看它们是否代表同一组 那是 a b c d d and d c b a d 代表同一个集合 元素可以按任意顺序排列 这就是我所拥有的 有效的 defun samesetp list1 list2 co
  • 我无法获取 HTML 页面的完整源代码

    使用Python 我想抓取一个网页上的数据 该网页的来源非常大 它是某个用户的Facebook页面 假设该 URL 是我要抓取的 URL 我运行以下代码 import urllib2 usock urllib2 urlopen url da
  • UITableViewCell 自定义类 - 子视图高度约束更改后重新加载单元格高度

    我有一个自定义按钮UITableViewCell班级 它显示 隐藏视图 同一单元格的一部分 这样做时单元格的高度应该改变 这是按钮操作 在UITableViewCell自定义类 IBAction func showHideCartView
  • 如何在kivy Pong球游戏中从另一个类调用一个类的函数

    我正在使用教程中给出的 PongGame 代码练习 Kivy 我想知道如何从新创建的类 PongSample 中调用 PongGame 类中的函数 serve ball2 在下面的代码中 我创建了一个 PongSample 类 以便在第一个
  • 线程“main”中出现异常 java.lang.IllegalStateException:在 Ubuntu 上运行 Selenium Test 时驱动程序可执行文件不存在

    我在 eclipse 中尝试过这段代码 import org openqa selenium WebDriver import org openqa selenium firefox FirefoxDriver public class a
  • 安装 .NET Core RTM 后缺少 Microsoft.DotNet.Web.targets

    我们正在将您的项目迁移到 NET Core 我正在按照本页上提供的步骤升级您的构建服务器https www microsoft com net core windows 安装 VS 2015 update 3 和 DotNetCore 1
  • 如何自动化 hg bisect --extend 以遵循共同祖先?

    通常 在一个hg bisect c my command 我收到通知说我应该跑步hg bisect extend
  • 抓取Facebook生活事件

    我一直在寻找一种方法从图形 API 中提取朋友最近的生活事件 但我遇到了位置拦截器 我知道你可以向朋友查询他们的位置 但是是否有可能找到以前的位置历史记录 或者只是一般历史记录 如果某人在工作中获得晋升 因此他们改变了角色 请原谅缺少代码
  • 在 C++ 中使用回调会增加耦合吗? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 Q1 为什么使用回调函数 Q2 回调是邪恶的吗 对那些人来说很有趣 谁知道 对其他人来说是一场噩梦 Q3 除了回调还有其他选择吗 回调减少了耦合 被调用方被传递了一些指针 但它不
  • Rails 在多个实例/服务器上重新加载动态路由

    我们如何强制 Rails 在多个服务器 实例上重新加载路由 我们在 Google App Engine 中拥有一个在 5 个以上实例上运行的多租户平台 我们希望所有站点都能从后端定义自己的一组路由 每当我们有一个新站点时 我们目前都必须重新
  • Android canvas - 画一个洞

    在Android中用canvas可以实现如下图吗 我想要一个洞 而不仅仅是在黄色的红色层上有一个圆圈 我用我的以下代码尝试了这个 但失败了 onDraw Method canvas drawBitmap yellow 0 0 paint c
  • 为什么EF Core没有设置自定义注解?

    在 DbContext 中我声明模型如下 modelBuilder Entity
  • SQL Server XACT_ABORT 排除

    我有一个更大的存储过程 它利用多个 TRY CATCH 块来捕获并记录各个错误 我还在过程的整个内容周围封装了一个事务 以便能够在沿途某个地方发生错误时回滚整个过程 以防止大量混乱的清理 XACT ABORT 已启用 否则它不会回滚整个事务
  • 将字符串分割成一定大小的块

    假设我有一个字符串 string str 1111222233334444 我怎样才能把这个字符串分成一定大小的块 例如 将其分解为 4 的大小将返回字符串 1111 2222 3333 4444 static IEnumerable
  • React-Table 的导入问题

    我正在使用react table库在react中创建一个表 几天前 我使用同一个库创建了一个表 没有遇到任何问题 但今天我收到以下错误 尝试导入错误 react table 不包含默认导出 导入为 ReactTable 进口声明 从 反应表
  • C# 中带有布尔条件的三元

    如果我要编写这段代码 它可以与正常的 if else 布局一起正常工作 if isOn i 10 else i 20 虽然我不确定如何使用三元运算符进行转换 isOn true i 1 i 0 错误 无法确定条件表达式的类型 因为 void
  • 如何覆盖默认的 Liferay 登录身份验证?

    我正在使用 Liferay 6 1 我想覆盖默认的 Liferay 登录身份验证并希望设置我的自定义身份验证 到目前为止 我所做的是 我创建了一个钩子插件 并在 Portal properties 文件中设置了以下属性 auth pipel