Configure the Authentication Use Cases

Archibus uses the Spring framework for configuration. The use of Spring is particularly evident when configuring security, as Archibus uses the Spring security model and configuration files. That is, you configure Archibus as you would configure any other application that uses Spring -- by changing the Spring configuration files..

For more information on the Spring framework, refer to http://www.springframework.org/ .

The Spring container is responsible for both configuration (at design time and start-up) and management of objects (at runtime). The Spring container manages the lifecycle of the Web Central objects. The remaining legacy objects are configured and managed by Spring as a single object ConfigManager. Some of the legacy objects (userAccount, for example) are also exposed to Spring context.

Web Central becomes a set of “Plain Old Java Objects” (POJOs), glued together by the Spring container according to the configuration settings, specified in the configuration files. During the deployment you can combine provided POJOs (or add your own) in many different ways, just by changing the configuration files. Since so many configurations are possible now, Archibus ships configuration files for several of the most common scenarios. The configuration files are organized in folders in the /WEB-INF/config folder:

config_folder.png

The Spring container is loaded by the servlet engine on application start-up, this behavior is specified in web.xml:

<listener>
	<listener-class>
		com.archibus.servletx.WebCentralContextLoaderListener
	</listener-class>
</listener>

The Spring container then loads the configuration file appContext.xml , as specified in web.xml:

<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/config/appContext.xml</param-value>
</context-param>

The appContext.xml file assembles the current Web Central configuration, importing smaller configuration files for different subsets of functionality: services, filters, infrastructure, security. For example, the default configuration is::

<<!-- ================== This is the root Spring context configuration file. =========== -->
<!-- Core infrastructure beans. -->
<import resource="core\core.xml" />
<!-- View rendering pipeline implementation. -->
<import resource="rendering\rendering.xml" />
<!-- Configuration for UI controls. -->
<import resource="controls\controls.xml" />
<!-- Configuration for reports. -->
<import resource="reports\reports.xml" />
<!-- Configuration for applications. -->
<import resource="applications\applications.xml" />
<!-- Load property files. -->
context:property-placeholder location="  
    classpath:core.properties,
    classpath:security.properties
    classpath:remoting.properties,
    classpath:smartclient.properties"/>
<!-- Load additional configuration files into the application context. -->
<bean id="contextPostProcessor" class="com.archibus.servletx.WebCentralContextPostProcessor">
<property name="configurationFiles">
<list>
   <value>${security.configurationFile}</value>  
   <value>${remoting.configurationFile}</value>
<\list>
</property>
<\bean>   
        

Archibus ships the following configurations:

config_folder2.png

For details on those configurations, see:

Configuring the Archibus Authentication Use Case

Configuring the LDAP Authentication Use Case

Configuring the SSO Authentication Use Case