2012-12-07 51 views
3

我們的WebLogic下運行現有的Java EE應用程序,我想以編程方式驗證用戶就像用戶經由現有的網絡登錄過程登錄。也就是說,最後,我想要有一個有效的會話(cookie),可以返回給調用者,然後返回服務器而不需要重新驗證。 (這是爲了啓用JAX-WS有狀態的Web服務調用)。編程登錄(認證)在WebLogic中(JAAS)

我們有一個自定義LoginModule的是,當用戶通過窗體身份驗證登錄,最終通過j_security_check調用。我猜想我想要做的是以某種方式讓WebLogic代表我調用LoginModule,向我詢問憑證,併產生經過驗證的會話和有效的主題等(即JAAS的所有優點)。

這是JAAS的東西嗎?是否有WebLogic調用?

回答

2

您可以使用HttpServletRequest#login方法做到這一點。這將觸發相同種類的登錄鏈,否則在您使用訪問受保護的資源時會執行該登錄鏈。

+0

非常感謝您的回覆Arjan。不幸的是,在我們的例子中,我們沒有使用Servlet 3.0。我們正在使用Servlet 2.5,並且不支持登錄(和身份驗證)方法。在2.5版本中有這樣的東西嗎? – psparago

+0

在Servlet 2.5中,不幸的是沒有這樣的事情。 JBoss和GlassFish都有一個專有機制,但我不知道WebLogic中是否有這種機制。可能值得一試。 –

+0

再次感謝您,Arjan,回覆。 – psparago

0

WebLogic安全使用安全服務插件(SSPI)架構,可讓您實現安全提供商。容器(如servlet)身份驗證由使用SSPI的身份驗證提供程序處理。身份驗證提供程序包裝JAAS登錄模塊。

編寫和配置安全提供程序是extensively documented

如果要實現身份驗證提供包裝你的登錄模塊並將其配置爲WebLogic域,它會自動爲所有容器身份驗證的WebLogic安全框架調用。