Open applicationContext-acegi-security.xml. Find the bean with id of filterInvocationInterceptor. Find the objectDefinitionSource property. For each line (after CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON), there is an equation. The left hand side is a regular expression specifying URLs to match. The right hand side lists the roles that are allowed to access the matching URL. For all roles except ROLE_ANONYMOUS, remove the ROLE_ prefix and modify the case of the role such that the result looks like this:
Code:
<property name="objectDefinitionSource">
<value>
<![CDATA[
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
\A/login.*\Z=ROLE_ANONYMOUS,Authenticated
\A/j_acegi_security_check.*\Z=ROLE_ANONYMOUS,Authenticated
\A/getmondrianmodel.*\Z=ROLE_ANONYMOUS,Authenticated
\A/getimage.*\Z=ROLE_ANONYMOUS,Authenticated
\A/getresource.*\Z=ROLE_ANONYMOUS,Authenticated
\A/admin.*\Z=Admin
\A/auditreport.*\Z=Admin
\A/auditreportlist.*\Z=Admin
\A/versioncontrol.*\Z=Admin
\A/propertieseditor.*\Z=Admin
\A/propertiespanel.*\Z=Admin
\A/subscriptionadmin.*\Z=Admin
\A/resetrepository.*\Z=Admin
\A/viewaction.*solution.admin.*\Z=Admin
\A/scheduleradmin.*\Z=Admin
\A/publish.*\Z=Admin
\A/logout.*\Z=ROLE_ANONYMOUS
\A/.*\Z=Authenticated
]]>
</value>
</property>
I will modify the default settings so that this step is not necessary in the future.