2012-07-18 91 views
0

我正在使用websphere 7基於文件的基本安全性來管理我的簡單web應用程序。我的應用程序包含兩個屏幕1.Add Partner 2.List Partner。 爲此,我創建了兩個角色1.AddPartner 2.ListPartner。我用不同的用戶名和密碼映射了這兩個角色。當用戶點擊AddPartner鏈接時,它應該要求提供憑證,就像ListPartner鏈接一樣。下面是我的web.xml條目(我使用strut2約定)websphere上的基本身份驗證7

<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 

是否有可能在單個應用程序中檢查不同憑據。請幫助我。

+0

有一件事我缺少的是你的用戶映射的角色。你能告訴你如何映射這些角色分配給用戶?或許真的有錯 – 2012-07-24 19:24:31

+1

了IBM管理控制檯 - 單擊我已安裝的應用程序安全角色到用戶/組映射,並將這些角色映射到已經創建的用戶。 – Mohan 2012-07-28 07:29:59

+0

從錯誤中,您似乎遇到了用戶與角色映射的問題。 – 2012-07-30 06:34:12

回答

1


這些步驟必須做到使用的應用程序安全的Web模塊中:
1.你必須啓用在WAS
2.您的應用程序(web.xml)中的「應用安全」已經有角色,定義了登錄方法和資源限制。還請指定領域名稱,例如您的<login-config>標籤之間有<realm-name>defaultWIMFileBasedRealm</realm-name>
3.角色必須映射到主體(用戶,組或特殊主題,例如所有經過身份驗證的用戶訪問「某些」領域,這可以在Rational Application Developer中完成我猜application.xml(physicaly寫入ibm-應用bnd.xmi)或指定的部署時
enter image description here