websphere 7上的基本身份验证

时间:2012-07-18 07:10:07

标签: basic-authentication websphere-7

我正在使用基于websphere 7文件的基本安全性来处理我的简单Web应用程序。我的应用程序包含两个屏幕1.Add Partner 2.List Partner。 为此我创建了两个角色1.AddPartner 2.ListPartner。我使用不同的用户名和密码映射了这两个角色。当用户单击AddPartner链接时,它应该要求提供凭据,对于ListPartner链接也是如此。下面是我的web.xml条目(我正在使用strut2约定)

<security-constraint>
    <web-resource-collection>
        <web-resource-name>servicepartner</web-resource-name>
        <url-pattern>/add-partner</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>AddPartner</role-name>
    </auth-constraint>
</security-constraint>

<security-constraint>
    <web-resource-collection>
    <web-resource-name>servicepartner</web-resource-name>
     <url-pattern>/list-partner</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>ListPartner</role-name>
    </auth-constraint>
</security-constraint>

<login-config>
    <auth-method>BASIC</auth-method>
</login-config>
<security-role>
    <role-name>AddPartner</role-name>
</security-role>
<security-role>
    <role-name>ListPartner</role-name>
</security-role>

但它适用于AddPartner但是当我点击ListPartner链接应用程序时抛出403禁止错误,因为它检查了aganist AddPartner凭据。我在服务器控制台中遇到错误。

Authorization failed for user commonuser:defaultWIMFileBasedRealm while invoking GET on default_host:/serviceapp/list-partner, Authorization failed, Not granted any of the required roles: ListPartner 

是否可以在单个应用程序中检查不同的凭据。请帮助我。

1 个答案:

答案 0 :(得分:1)


必须执行以下步骤才能在Web模块中使用应用程序安全性:
1.您必须在WAS中启用“应用程序安全性” 2.您的应用程序(web.xml)必须定义角色,登录方法和资源限制。另请注明领域名称,例如<realm-name>defaultWIMFileBasedRealm</realm-name>代码之间的<login-config> 3.角色必须映射到主题(用户,组或特殊主题,例如所有经过身份验证的用户到“某个”领域。这可以在Rational Application Developer中完成,我猜app.xml(物理上写入ibm-application-) bnd.xmi)或指定的部署时间
enter image description here