...
- Download the WSO2 Identity Server from the product page.
- Extract the ZIP file in the file system.
- Open the
<wso2is_home>/repository/conf/user-mgt.xml
file and configure it to use your Active Directory as the user store (WSO2 is configured to use a built-in LDAP server by default). See Configuring Primary User Stores on how to configure a primary user store and then go to Active Directory user store configuration section to get Active Directory specific configurations. - Start the WSO2 Identity Server with
<wso2is_home>/bin/wso2server.bat
and check whether the user store is configured properly before the IWA is activated. - Start from this step if you have WSO2 Identity Server already configured to use Active Directory.
- Stop the WSO2 Identity Server if the server is already running.
Open the
<wso2is_home>/repository/conf/security/authenticators.xml
file and add the following lines inside the <Authenticators> tag.Code Block language html/xml <Authenticator name="IWAUIAuthenticator" disabled="false"> <Priority>5</Priority> </Authenticator>
This indicates to the WSO2 Identity Server that "IWAUIAuthenticator" is to be enabled with a priority level of 5.
Open the
<wso2is_home>/repository/conf/tomcat/web.xml
file and add the following lines just before "</web-app>".Code Block language html/xml <security-constraint> <display-name>Security Constraint for IWA</display-name> <web-resource-collection> <web-resource-name>Protected Area</web-resource-name> <url-pattern>/</url-pattern> <http-method>DELETE</http-method> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> </web-resource-collection> <auth-constraint> <role-name>Everyone</role-name> </auth-constraint> </security-constraint>
This prevents unauthorized access to the WSO2 Identity Server and redirects the requests to the authenticator to authenticate them.
Open the
<wso2is_home>/repository/conf/tomcat/carbon/META-INF/context.xml
and add the following lines just before "</Context>".Code Block language html/xml <Valve className="waffle.apache.NegotiateAuthenticator" principalFormat="fqn" roleFormat="both"/> <Realm className="waffle.apache.WindowsRealm"/>
This uses Valve and Realm from Waffle library which is used to negotiate authentication.
- Start the WSO2 Identity Server. Now the server is configured to use the IWA authenticator.
...