使用SecurityFilter在Tomcat上进行JAAS身份验证

时间:2012-11-01 12:21:40

标签: java tomcat jaas

拜托,我需要你的帮助。我有一个在Tomcat和JAAS模块上运行的应用程序。在JAAS之前,我使用过滤器,以便从httprequest获取一些参数。在此过滤器中,我使用jaas登录创建LoginContext并调用login()方法。一切顺利,提交返回true,一切都很好。

我从会话中受到了主题:

session.setAttribute("javax.security.auth.subject", subject); 

在这个主题中我放了创建的主体。问题是登录后,一切都像从未调用此登录。然后用户未经过身份验证,我变成了空白页面。怎么了?

我猜Tomcat不接受我创建的LoginContext或类似的东西,但我该怎么做才能解决这个问题?提前谢谢!

1 个答案:

答案 0 :(得分:2)

看看http://www.coderanch.com/t/466744/Servlets/java/Set-user-principal-filter。您可以在线程中看到:除非您通过容器提供的工具,否则通常不会填充请求的getUserPrincipal()和isUserInRole()。

在您的情况下,您应该在链接中创建RequestWrapper并在RequestWrapper中设置用户。

相关问题