2012-09-12 39 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