使用Liberty Profile 8.5.5和LDAP时遇到问题。
我为安全性正确设置了 EAR with application.xml 。
我正确地设置了 webproject with web.xml 。
登录验证顺利进行(request.getRemoteUser()
给出了正确的结果)但在下一个操作中,当我使用response.isUserInRoles
时返回此异常:
[致命] [isUserInRole - WebAppSecurityCollaboratorImpl.java:327]方法中的异常...
异常类型:类java.lang.NullPointerException消息:null
显示java.lang.NullPointerException
我真的不明白这是怎么发生的...... 如果有人有解决方案,解决方法,修复,请告诉我。
答案 0 :(得分:0)
今天,我遇到了你在这里描述的完全相同的问题。我正在将Eclipse Liberty Profile 8.5.5.1与Eclipse Kepler一起使用。我的项目使用了Wicket 框架,所以在我的web.xml中我有Wicket过滤器,如下所示:
<filter>
<filter-name>wicket.filter</filter-name>
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
<init-param>
<param-name>applicationClassName</param-name>
<param-value>my.wicket.Application</param-value>
</init-param>
<init-param>
<param-name>configuration</param-name>
<param-value>deployment</param-value>
</init-param>
</servlet>
<filter-mapping>
<filter-name>wicket.filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
调试时我发现在isUserInRole函数中,WebSphere似乎正在寻找一个servlet。显然,我没有在我的应用程序中使用任何servlet,只是Wicket过滤器。所以我的解决方法是使用Wicket servlet而不是过滤器,这似乎工作正常。
长话短说:当您的应用程序没有任何servlet时,似乎isUserInRole在WebSphere Liberty Profile上不起作用。