2013-08-27 47 views
0

我在使用Liberty Profile 8.5.5和LDAP時遇到問題。 我有一個EAR與application.xml設置正確的安全性。 進入耳朵我有一個網絡問題與web.xml設置正確。 登錄認證進展順利(request.getRemoteUser()給出正確的結果),但在接下來的動作,當我使用response.isUserInRoles返回我此異常:Liberty Profile 8.5.5 WebAppSecurityCollaboratorImpl.isUserInRole錯誤

[FATAL] [的isUserInRole - WebAppSecurityCollaboratorImpl.java:327]在異常的方法.. 。
異常類型:類顯示java.lang.NullPointerException消息:空
顯示java.lang.NullPointerException

我真不明白這是怎麼發生的? 如果有人有一個解決方案,一個工作 - 周圍,​​一個修復,請告訴我。

+1

嗨,只是注意到這個問題已發佈到WASdev論壇,有人建議應該針對IBM提出PMR。這似乎已經完成。 – Alasdair

回答

0

今天,我面對的是你在這裏描述的完全相同的問題。我在Eclipse Kepler中使用WebSphere Liberty Profile 8.5.5.1。我的項目使用Wicket 框架,所以在我的web.xml我有檢票過濾器,像這樣:

<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上不起作用。

相關問題