我實現了一個LoginModule來執行一些自定義驗證,並使用LoginContext類的login()方法調用驗證。登錄模塊的login()和commit()方法被成功調用,但不能夠使用web應用程序,而是立即將其發送回登錄頁面。 request.getUserPrincipal()爲null,以及request.getRemoteUser()。JAAS LoginModule login()和commit()成功,但用戶未登錄
任何想法將不勝感激。謝謝!
附加信息
而且,之後我打電話loginContext.login()
在前端,呼籲loginContext.getSubject().getPrincipals()
給我,只是記錄在校長和角色對用戶的正確列表。
我使用Tomcat 6.0.29作爲我的服務器。
我猜測如果我有某種JAR的話就會使用策略文件。我正在驗證運行在Tomcat上的網站;我需要一個策略文件嗎? – 2010-09-28 15:50:02
@Jon:不是在jar中的loginmodule? – JoseK 2010-09-28 16:55:44
是的。 JAR打包在我的Web應用程序的WEB-INF/lib文件夾中。這是一個奇怪的問題,因爲登錄似乎成功了,而commit()被調用。 – 2010-09-28 17:00:41