2013-10-22 41 views
0

我有一個基於JSF 2.2的Primefaces應用程序,它使用j_security_check對用戶進行身份驗證。應用程序運行良好,但是我們遇到了其他應用程序可以對同一用戶進行身份驗證的情況。問題是,這些其他應用程序不在同一臺服務器上運行,並且它們使用基於服務生成的令牌的「假單點登錄」。每個應用程序接收該令牌,驗證它並確認用戶是否登錄。實現j_security_check繞過

我期待的是通過HTTP請求接收該令牌,驗證它並在使用j_security_check的應用程序中自動登錄用戶。

有人知道這是可能的嗎?

回答

0

您可以使用HttpServletRequest#login()執行程序化登錄。您可以在任何可以接觸HttpServletRequest的位置執行此操作,例如在JSF支持bean,servlet過濾器或甚至普通的vanilla servlet中。

request.login(username, password); 

注意:這並不嚴格「繞過」j_security_check。它j_security_check的編程變體。