2012-09-12 66 views
3

我正在爲tomcat web服務器運行web應用程序。我想將它遷移到IBM Websphere AS,但我仍然陷入安全問題。 整個應用程序的安全性是在web.xml文件中定義是這樣的:IBM WAS忽略web.xml中的安全性

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Dynamic pages</web-resource-name> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <description>access.</description> 
     <role-name>user</role-name> 
    </auth-constraint> 
</security-constraint> 

<login-config id="LoginConfig_1"> 
    <auth-method>FORM</auth-method> 
    <realm-name>SecureRealm</realm-name> 
    <form-login-config id="FormLoginConfig_1"> 
     <form-login-page>/login.jsp</form-login-page> 
     <form-error-page>/loginFail.jsp</form-error-page> 
    </form-login-config> 
</login-config> 

<security-role> 
    <description>User of the application.</description> 
    <role-name>user</role-name> 
</security-role> 

的Websphere忽略這一切的安全和讓我不顯示登錄頁面訪問來自Web應用程序的任何頁面。如果我手動去login.jsp並把正確的密碼im轉發到應用程序,但然後它在getUserPrincipal()失敗,因爲它返回null(沒有登錄)。如果我把錯誤的密碼im轉發到loginFail.jsp也是一樣的。
服務器日誌中也沒有錯誤。
我在做什麼錯或與tomcat不同?
感謝您的幫助。

回答

4

WebSphere安全性可能未啓用。如果不是,您的web.xml設置將被忽略。

在管理控制檯中,查看安全性 - >全局安全性部分。確保選中「啓用應用程序安全性」。

請注意,您可以在不同'等級'(節點,服務器等)創建不同的安全設置。如果您在安全 - >安全域中定義了多個域,請確保您的Web應用正在運行的應用服務器具有正確的域集。

+0

啓用應用程序安全性,所有我需要的:) thx – JIV