2016-09-21 25 views
0

我的web.xml中有以下安全配置。我正在使用IBM WAS併爲我的應用程序選擇了AD身份驗證。作爲AD配置的一部分,我已將TEST角色映射到AD組。現在,每次我進行部署時,映射都將消失。有沒有辦法堅持映射?WAS角色在每次部署後重置AD組映射

<security-role> 
     <description>Test</description> 
     <role-name>TEST</role-name> 
    </security-role> 
    <security-constraint> 
     <web-resource-collection> 
      <web-resource-name>test</web-resource-name> 
      <url-pattern>/test/*</url-pattern> 
      <url-pattern>/rock/index.html</url-pattern> 
     </web-resource-collection> 
     <auth-constraint> 
      <role-name>TEST</role-name> 
     </auth-constraint> 
    </security-constraint> 
    <login-config> 
     <auth-method>FORM</auth-method> 
     <form-login-config> 
      <form-login-page>/rock/signon/login.html</form-login-page> 
      <form-error-page>/rock/signon/login.html</form-error-page> 
     </form-login-config> 
    </login-config> 
+0

您如何進行部署?如果您執行應用程序更新,則綁定應該保持不變,而不是卸載並重新安裝。 – Gas

+0

是的,我卸載並安裝..無論如何它現在解決..我做了兩種方式。一個是通過將ibm-application-bnd.xml添加到ear文件中。另一個我們可以做一個WAS級別的腳本配置.. – Satish

+0

是的,這些都是很好的,有效的選項。將其添加爲asnwer。 – Gas

回答

0

有兩種方法可以做到這

  1. ear/META-INF
  2. 使用ibm-application-bnd.xmlapplication.xml配置WAS腳本進行更改。

我還沒有探索了第二個選項,但我用第一種方法

IBM應用-bnd.xml

<?xml version="1.0" encoding="UTF-8"?> 
<application-bnd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-application-bnd_1_2.xsd" 
    xmlns="http://websphere.ibm.com/xml/ns/javaee" 
    version="1.2"> 

    <security-role name="ROLE"> 
     <group name="LDAP GROUP" /> 
    </security-role> 

</application-bnd> 

的application.xml

解決部署問題
<?xml version="1.0" encoding="UTF-8"?> 
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6"> 
    <display-name>rest-ear</display-name> 
    <module> 
    <web> 
     <web-uri>rest-1.0.0-SNAPSHOT.war</web-uri> 
     <context-root>/rest</context-root> 
    </web> 
    </module> 
    <security-role> 
    <role-name>ROLE</role-name> 
    </security-role> 
</application>