suggested.xml 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <document><properties><title>Acegi Security Suggested Steps</title></properties><body><section name="Suggested Steps"><p>Presented below are the steps we encourage you to take in order to gain the most
  3. out of Acegi Security in a realistic timeframe.
  4. <ol>
  5. <li>
  6. First of all, deploy the "Tutorial Sample", which is included in the main distribution
  7. ZIP file. The sample doesn't do a great deal, but it does give you a template that can
  8. be quickly and easily used to integrate into your own project.<br></br><br></br>
  9. Estimated time: 30 minutes.<br></br><br></br>
  10. </li>
  11. <li>
  12. Next, follow the <a href="petclinic-tutorial.html">Petclinic tutorial</a>, which
  13. covers how to add Acegi Security to the commonly-used Petclinic sample application
  14. that ships with Spring. This will give you a hands-on approach to integrating
  15. Acegi Security into your own application.<br></br><br></br>
  16. Estimated time: 1 hour.<br></br><br></br>
  17. </li>
  18. <li>
  19. Next, review the <a href="reference.html">Reference Guide</a>, and in particular
  20. Part I. It has been designed to give you a solid overview. Go through the beans
  21. defined in the "Tutorial Sample" and understand their main purpose within the overall
  22. framework. Once you understand this, you'll have no difficulty moving on to more
  23. complex examples. You can also experiment in the Petclinic tutorial that you
  24. implemented in the last step.<br></br><br></br>
  25. Estimated time: 1 day.<br></br><br></br>
  26. </li>
  27. <li>
  28. If you have relatively simple security needs, you can probably start to integrate
  29. Acegi Security into your application at this point. Just use the "Tutorial Sample"
  30. as your basis (now that you understand how it works). Those with more complicated
  31. requirements should review the "Contacts Sample" application.
  32. This will probably involve deploying <code>acegi-security-sample-contacts-filter.war</code>,
  33. which is also included in the release ZIP file.<br></br><br></br>
  34. The purpose of understanding the "Contacts Sample" is to get a better feel for how method
  35. security is implemented, particularly with domain object access control lists. This will
  36. really round-out the rest of the framework for you.<br></br><br></br>
  37. The actual <a target="_blank" class="newWindow" href="multiproject/acegi-security-sample-contacts/xref/index.html">java code</a>
  38. is a completely standard Spring application, except <code>ContactManagerBackend</code>
  39. which shows how we create and delete ACL permissions. The rest of the Java code has no
  40. security awareness, with all security services being declared in the XML files
  41. (don't worry, there aren't any new XML formats to learn: they're all standard Spring IoC container
  42. declarations or the stock-standard <code>web.xml</code>). The main
  43. XML files to review are
  44. <a target="_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),
  45. <a target="_blank" class="newWindow" href="http://cvs.sourceforge.net/viewcvs.py/acegisecurity/acegisecurity/samples/contacts/src/main/webapp/common/WEB-INF/applicationContext-common-authorization.xml?view=auto">applicationContext-common-authorization.xml</a>,
  46. <a target="_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
  47. <a target="_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).
  48. The XML definitions are comprehensively discussed in the
  49. <a href="reference.html">Reference Guide</a>.
  50. <br></br><br></br>
  51. Please note the release ZIP files do not include the sample application Java source code. You
  52. will need to download from SVN if you would like to access the Java sources.<br></br><br></br>
  53. Estimated time: 1-2 days.<br></br><br></br>
  54. </li>
  55. <li>By now you will have a good grasp on how Acegi Security works, and all that is left to
  56. do is design your own application's implementation.
  57. <br></br><br></br>
  58. We strongly recommend that you start your actual integration with the "Tutorial Sample".
  59. Don't start by integrating with the "Contacts Sample", even if you have complex needs.
  60. Most people reporting problems on the forums do so because of a configuration problem,
  61. as they're trying to make far too many changes at once without really knowing what
  62. they're doing. Instead, make changes one at a time, starting from the bare bones configuration
  63. provided by the "Tutorial Sample".<br></br><br></br>
  64. If you've followed the steps above, and refer back to the
  65. <a href="reference.html">Reference Guide</a>,
  66. <a href="http://www.springframework.org">forums</a>, and
  67. <a href="faq.html">FAQ</a>
  68. for help, you'll find it pretty easy to implement Acegi Security in your application.
  69. Most importantly, you'll be using a security framework that offers you complete container
  70. portability, flexibility, and community support - without needing to write and maintain your
  71. own code.<br></br><br></br>
  72. Estimated time: 1-5 days.<br></br><br></br>
  73. </li>
  74. </ol>
  75. </p><p>Please note the time estimates are just that: estimates. They will vary considerably depending
  76. on how much experience you have, particularly with Java and Spring. They will also vary depending
  77. on how complex your intended security-enabled application will be. Some people need to push the domain
  78. object instance access control list capabilities to the maximum, whilst others don't even need anything
  79. beyond web request security. The good thing is Acegi Security will either directly support your future
  80. needs, or provide a clearly-defined extension point for addressing them.
  81. </p><p>
  82. We welcome your feedback about how long it has actually taken you to complete each step, so we
  83. can update this page and help new users better assess their project timetables in the future.
  84. Any other tips on what you found helpful in learning Acegi Security are also very welcome.
  85. </p></section></body></document>