Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences


Referenced by
AppFuseSecurity
AppFuseSecurityMetho...




JSPWiki v2.2.33

[RSS]


Hide Menu

AppFuseSecurityMethods


Difference between version 6 and version 5:

At line 15 added 1 line.
* [6] Test that it all works
At line 170 changed 1 line.
You can see that I added those comment tags so we can remove the method security during the unit tests.
You can see the comment tags surrounding the interceptor so we can remove the method security during the unit tests.
At line 173 changed 1 line.
Now we need to modify {{build.xml}} so the Method Security interceptor will be removed during the unit tests.
Now we need to modify {{build.xml}} to take advantage of those comment tags we just added to {{applicationContext-security.xml}}. In the {{test-module}} target we need to add a regular expression replace task to remove the XML between out comment tags. I changed the beginning of {{test-module}} target to look like this:
{{{ <target name="test-module">
<!-- Inputs: module, test.classpath -->
<echo level="info">Testing ${module}...</echo>
<mkdir dir="${test.dir}/data"/>
<propertycopy name="testcase" from="${module}-testcase" silent="true"/>
<!-- Replace tokens in test properties files -->
<copy todir="${test.dir}/${module}/classes">
<fileset dir="test/${module}" excludes="**/*.java"/>
<filterset refid="variables.to.replace"/>
</copy>
<!-- Use test-specific XML files -->
<copy todir="${webapp.target}/WEB-INF" overwrite="true">
<fileset dir="test" includes="*.xml"/>
</copy>
<!-- Remove configurations that should not be enabled during testing -->
<replaceregexp file="${webapp.target}/WEB-INF/applicationContext-service.xml"
flags="sg">
<regexp pattern="REMOVE DURING TEST: Start.*REMOVE DURING TEST: End" />
<substitution expression="REMOVED DURING TESTING" />
</replaceregexp>
<property name="additional.src.dirs" value=""/>
<junit ... }}}
!!Test that it all works [#6]
At this point we should be able to successfully run an {{ant test-all}}. The unit tests will not use the security, but the web tests will. So if you want to make sure a user cannot do something they should not be allowed to you can add a test to web-tests.xml. But if you want to see that the security works, log in as user "tomcat" and try to access [http://localhost:8080/appfuse/editProfile.html?method=search]. Because we reqire an {{admin}} role to access {{UserManager.getUsers}} you should now get a 403 Access Denied error.

Back to AppFuseSecurityMethods, or to the Page History.