LifeRay中以编程方式进行身份验证

时间:2012-07-11 08:26:21

标签: authentication liferay x509

我正在使用LifeRay并需要某种特殊身份验证:我的用户拥有x.509证书,这些证书由Apache Webserver验证。验证成功后,用户将被重定向到Tomcat和LifeRay。

现在我想执行以下操作:以编程方式获取用户证书的主题DN,并登录连接到此DN的LifeRay用户。

到目前为止,我有以下内容:

  • 创建了一个钩子“login.events.pre”,我从证书中获取了DN
  • 在LifeRay数据库中搜索具有此DN的用户(使用UserLocalServiceUtil.getUserByOpenId())
  • 使用UserLocalServiceUtil.authenticateByScreenName()
  • 对用户进行身份验证

我现在的问题是:这是“最好”/最干净的方法,或者我应该使用其他方法来查询LifeRay数据库,验证用户等。例如,我可以创建一个Ext-Extensions而不是一个钩子对于LifeRay。另外,我发现了一些像“com.liferay.portlet.login.util.LoginUtil.login”或User user = PortalUtil.getUser(request);获得用户。

文件中是否有一个地方可以回答这些问题? API不是那么全面......

0 个答案:

没有答案