<p>Presented below are the steps we encourage you to take in order to gain the most
out of Acegi Security in a realistic timeframe.
<ol>
<li>Your first step is to ensure you're able to actually build Acegi Security. This is
because if you encounter any problems the first thing we'll probably suggest you do is
upgrade to the latest CVS HEAD. It also means you can try things out if you get stuck,
such as adding even more logging messages to the actual Acegi Security core code.
The good news is building is actually very easy, and
we've gone to a lot of trouble to document what is involved. If you have a working Maven
installation, it <i>should</i> be as simple as two commands. Have a look on the
<ahref="building.html">Building with Maven</a> page, and follow the
"Checking Out from CVS" and "Building All JARs" steps. Of course, you can safely skip
this step if you don't have time.<br><br>
Estimated time: 30 minutes - 2 hours.<br><br>
</li>
<li>Next up gain a proper understanding of how the Contacts Sample application works.
This will probably involve deploying <code>acegi-security-sample-contacts-filter.war</code>.<br><br>
The actual <atarget="_blank"class="newWindow"href="multiproject/acegi-security-sample-contacts/xref/index.html">java code</a>
is a completely standard Spring application, except <code>ContactManagerBackend</code>
which shows how we create and delete ACL permissions. The rest of the Java code has no
security awareness, with all security services being declared in the XML files
(don't worry, there aren't any new XML formats to learn: they're all standard Spring IoC container
declarations or the stock-standard <code>web.xml</code>). The main
XML files to review are
<atarget="_blank"class="newWindow"href="http://cvs.sourceforge.net/viewcvs.py/acegisecurity/acegisecurity/samples/contacts/src/main/webapp/filter/WEB-INF/applicationContext-acegi-security.xml?view=auto">applicationContext-acegi-security.xml</a> (from the filter webapp),
<atarget="_blank"class="newWindow"href="http://cvs.sourceforge.net/viewcvs.py/acegisecurity/acegisecurity/samples/contacts/src/main/webapp/common/WEB-INF/applicationContext-common-business.xml?view=auto">applicationContext-common-business.xml</a> (just note we add <code>contactManagerSecurity</code> to the services layer target bean), and
<atarget="_blank"class="newWindow"href="http://cvs.sourceforge.net/viewcvs.py/acegisecurity/acegisecurity/samples/contacts/src/main/webapp/filter/WEB-INF/web.xml?view=auto">web.xml</a> (from the filter webapp).
The XML definitions are comprehensively discussed in the
<ahref="reference.html">Reference Guide</a>.
<br><br>
To gain the most from reviewing these XML files, we suggest you start by understanding how