2014-02-12 66 views
0

我的Liferay 5.2在Liferay中

我使用LDAP進行認證工作,它工作正常的登錄名添加條件,

現在,我想在我的認證添加條件,

我想調用另一個梅索德在登錄,

這梅索德回報true或false關係到用戶的連接狀態,

這個梅索德需要用戶id作爲參數

這是本梅索德的語法:

boolean verifyStatusOfUser(String idUserConnected); 

所以在登錄驗證LDAP我應該用這種語法

verifyStatusOfUser(PortalUtil.getConnectedUserID(request) 
        .toUpperCase())); 
調用以前梅索德用戶後

並做一個測試,如果結果爲真,用戶可以連接,如果結果爲假,用戶無法連接

我的方法verifyStatusOfUser是在罐子所以我應該在Liferay中添加這個罐子

可以sameone幫我更改登錄梅索德

+0

對不起,不是e沒有足夠的時間來獲得正確的答案 - 請查閱https://www.liferay.com/de/documentation/liferay-portal/6.0/development/-/ai/performing-a-custom-action,但請注意5.2很老 - 我的主要建議(除非你在EE上)是更新到最新版本以獲得更新 –

+0

感謝您的回答,但我無法遷移到最新版本的liferay,因爲我已經有一個應用程序在這個版本中部署了主題,所以我應該找到一個與我的liferay相關的解決方案 – franco

回答

0

好吧,下面了前面給出的註釋一些建議:

檢查PostLoginAction 。開發人員指南中介紹瞭如何執行這些操作https://www.liferay.com/de/documentation/liferay-portal/6.0/development/-/ai/performing-a-custom-action

在此您可以訪問請求,並使用它訪問當前會話。如果有人已經登錄,但你確定他們不應該,你可以使他們的會話失效 - 如果你願意,甚至可以將他們重定向到一個解釋原因的頁面。

一種替代方法是鉤到該Liferay的具有自動登錄功能(這是類似於實現單點登錄(SSO)系統,但可能會有點困難。

這可能是來回Liferay的步驟5.2雖然略有不同,但據我所知,當時PostLogin已經可以採取行動了

重複自己:隨着時間的推移,你真的應該考慮升級到最新的和支持的版本。功能和安全性 - 除非您仍然支持企業版。