2
0

index.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML><HEAD><TITLE>Acegi Security System for Spring</TITLE>
  3. <META http-equiv=Content-Type content="text/html; charset=windows-1252">
  4. <META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
  5. <BODY>
  6. <p>
  7. This is the Maven generated site for the Acegi-Security project. It is generated as part of an
  8. automated daily build. We intend to expand the information on Acegi which is available here but for
  9. the moment, your best starting point for documentation is Ben Alex's
  10. original <a href="./reference/index.html">reference guide</a>
  11. which provides a comprehensive overview.
  12. </p>
  13. <p>
  14. For more information on running the build with Maven, see the
  15. <a href="./start/build.html">build</a> section of the getting started guide.
  16. </p>
  17. <p>
  18. The main other area of interest at the moment is the <a href="./maven-reports.html">generated reports</a> section.
  19. These are produced by the build on a daily basis and include complete Javadoc and source cross-reference.
  20. </p>
  21. <CENTER>
  22. </CENTER><BR><BR><FONT
  23. face=Arial size=-1>
  24. <CENTER><B>
  25. <HR>
  26. <CENTER>Mission Statement</CENTER></B>
  27. <HR>
  28. <BR>To provide comprehensive security services for <A
  29. href="http://www.springframework.org/"><I>The Spring Framework</I></A>.
  30. </CENTER><BR><B>
  31. <HR>
  32. <CENTER>Key Features</CENTER></B>
  33. <HR>
  34. <BR>
  35. <UL>
  36. <LI><B>It is ready NOW.</B> As explained in the reference guide, the API
  37. is now quite stable. We also use the <A
  38. href="http://apr.apache.org/versioning.html">Apache APR Project
  39. Versioning Guidelines</A> so you can identify backward
  40. compatibility.<BR><BR>
  41. <LI><B>Easy to use:</B> View our samples/quick-start directory for XML
  42. you can simply copy and paste into applicationContext.xml and web.xml.
  43. From there it's easy to customise Acegi Security to your unique security
  44. needs.<BR><BR>
  45. <LI><B>Enterprise-wide single sign on:</B> Using Yale University's open
  46. source <A href="http://www.yale.edu/tp/auth/">Central Authentication
  47. Service</A> (CAS), the Acegi Security System for Spring can participate
  48. in an enterprise-wide single sign on environment. You no longer need
  49. every web application to have its own authentication database. Nor are
  50. you restricted to single sign on across a single web container. Advanced
  51. single sign on features like proxy support and forced refresh of logins
  52. are supported by both CAS and Acegi Security.<BR><BR>
  53. <LI><B>Reuses your Spring expertise:</B> We use Spring application
  54. contexts for all configuration, which should help Spring developers get
  55. up-to-speed nice and quickly.<BR><BR>
  56. <LI><B>Domain object instance security:</B> In many applications it's
  57. desirable to define Access Control Lists (ACLs) for individual domain
  58. object instances. We provide a comprehensive ACL package with features
  59. including integer bit masking, permission inheritence (including
  60. blocking), a JDBC-backed ACL repository, caching and a pluggable,
  61. interface-driven design.<BR><BR>
  62. <LI><B>Non-intrusive setup:</B> The entire security system can operate
  63. within a single web application using the provided filters. There is no
  64. need to make special changes or deploy libraries to your Servlet or EJB
  65. container.<BR><BR>
  66. <LI><B>Full (but optional) container integration:</B> The credential
  67. collection and authorization capabilities of your Servlet or EJB
  68. container can be fully utilised via included "container adapters". We
  69. currently support Catalina (Tomcat), Jetty, JBoss and Resin, with
  70. additional containers easily added.<BR><BR>
  71. <LI><B>Keeps your objects free of security code:</B> Many applications
  72. need to secure data at the bean level based on any combination of
  73. parameters (user, time of day, authorities held, method being invoked,
  74. parameter on method being invoked....). This package gives you this
  75. flexibility without adding security code to your Spring business
  76. objects.<BR><BR>
  77. <LI><B>Secures your HTTP requests as well:</B> In addition to securing
  78. your beans, the project also secures your HTTP requests. No longer is it
  79. necessary to rely on web.xml security constraints. Best of all, your
  80. HTTP requests can now be secured by your choice of regular expressions
  81. or Apache Ant paths, along with pluggable authentication, authorization
  82. and run-as replacement managers.<BR><BR>
  83. <LI><B>Channel security:</B> The Acegi Security System for Spring can
  84. automatically redirect requests across an appropriate transport channel.
  85. Whilst flexible enough to support any of your "channel" requirements (eg
  86. the remote user is a human, not a robot), a common channel security
  87. feature is to ensure your secure pages will only be available over
  88. HTTPS, and your public pages only over HTTP. Acegi Security also
  89. supports unusual port combinations and pluggable transport decision
  90. managers.<BR><BR>
  91. <LI><B>Supports HTTP BASIC authentication:</B> Perfect for remoting
  92. protocols or those web applications that prefer a simple browser pop-up
  93. (rather than a form login), Acegi Security can directly process HTTP
  94. BASIC authentication requests as per RFC 1945.<BR><BR>
  95. <LI><B>Convenient security taglib:</B> Your JSP files can use our taglib
  96. to ensure that protected content like links and messages are only
  97. displayed to users holding the appropriate granted authorities.<BR><BR>
  98. <LI><B>Application context or attribute-based configuration:</B> You
  99. select the method used to configure your security environment. The
  100. project supports configuration via Spring application contexts as well
  101. as Jakarta Commons Attributes.<BR><BR>
  102. <LI><B>Various authentication backends:</B> We include the ability to
  103. retrieve your user and granted authority definitions from either an XML
  104. file or JDBC datasource. Alternatively, you can implement the
  105. single-method DAO interface and obtain authentication details from
  106. anywhere you like.<BR><BR>
  107. <LI><B>Event support:</B> Building upon Spring's
  108. <CODE>ApplicationEvent</CODE> services, you can write your own listeners
  109. for login, invalid password and account disabled events. This enables
  110. you to implement account lockout and audit log systems, with complete
  111. decoupling from Acegi Security code.<BR><BR>
  112. <LI><B>Easy integration with existing databases:</B> Our implementations
  113. have been designed to make it very easy to use your existing
  114. authentication schema and data (without modification).<BR><BR>
  115. <LI><B>Caching:</B> Use our <A
  116. href="http://ehcache.sourceforge.net/">EHCACHE</A> wrapper to cache your
  117. authentication information, or plug in your own cache implementation.
  118. This flexibility means your database (or other authentication
  119. repository) is not repeatedly queried for authentication
  120. information.<BR><BR>
  121. <LI><B>Pluggable architecture:</B> Every critical aspect of the package
  122. has been modelled using high cohesion, loose coupling, interface-driven
  123. design principles. You can easily replace, customise or extend parts of
  124. the package.<BR><BR>
  125. <LI><B>Startup-time validation:</B> Every critical object dependency and
  126. configuration parameter is validated at application context startup
  127. time. Security configuration errors are therefore detected early and
  128. corrected quickly.<BR><BR>
  129. <LI><B>Remoting support:</B> Does your project use a rich client? Not a
  130. problem. Acegi Security integrates with standard Spring remoting
  131. protocols, because it automatically processes the HTTP BASIC
  132. authentication headers they present. Add our BASIC authentication filter
  133. to your web.xml and you're done.<BR><BR>
  134. <LI><B>Advanced password encoding:</B> Of course, passwords in your
  135. authentication repository need not be in plain text. We support both SHA
  136. and MD5 encoding, and also pluggable "salt" providers to maximise
  137. password security.<BR><BR>
  138. <LI><B>Run-as replacement:</B> The security system fully supports
  139. temporarily replacing the authenticated user for the duration of the web
  140. request or bean invocation. This enables you to build public-facing
  141. object tiers with different security configurations than your backend
  142. objects.<BR><BR>
  143. <LI><B>Unit tests:</B> A must-have of any quality security project, unit
  144. tests are included. Clover coverage is currently 98.3%.<BR><BR>
  145. <LI><B>Container integration tests:</B> To ensure the security project
  146. properly operates with major container versions, we provide an
  147. integration test system that deploys those containers from scratch and
  148. fully tests our sample web application from the perspective of a HTTP
  149. client.<BR><BR>
  150. <LI><B>Supports your own unit tests:</B> We provide a number of classes
  151. that assist with your own unit testing of secured business objects. For
  152. example, you can change the authentication identity and its associated
  153. granted authorities directly within your test methods.<BR><BR>
  154. <LI><B>Peer reviewed:</B> Whilst nothing is ever completely secure,
  155. using an open source security package leverages the continuous design
  156. and code quality improvements that emerge from peer review.<BR><BR>
  157. <LI><B>Thorough documentation:</B> All APIs are fully documented using
  158. JavaDoc, with a 40+ page reference guide providing an easy-to-follow
  159. introduction.<BR><BR>
  160. <LI><B>Apache license.</B><BR><BR></LI></UL><BR><B>
  161. <HR>
  162. <CENTER>Project Resources</CENTER></B>
  163. <HR>
  164. <BR>
  165. <CENTER><A href="http://forum.springframework.org/"><B>Support
  166. Forums</B></A><BR><BR><A
  167. href="http://sourceforge.net/project/showfiles.php?group_id=104215"><B>Downloads</B></A><BR><BR><A
  168. href="http://www.monkeymachine.co.uk/acegi">Public Maven Build (Javadocs,
  169. Source Code etc)</A><BR><BR><A
  170. href="http://cvs.sourceforge.net/viewcvs.py/acegisecurity">Browse
  171. CVS</A><BR><BR><BR><B>
  172. <HR>
  173. <CENTER>Development Mailing List</CENTER></B>
  174. <HR>
  175. <BR><A
  176. href="https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer">Subscribe
  177. Here</A><BR><BR><A
  178. href="http://news.gmane.org/gmane.comp.java.springframework.acegisecurity.devel/">Gmane
  179. Archive</A><BR><BR><A
  180. href="http://www.mail-archive.com/acegisecurity-developer@lists.sourceforge.net/">Mail-archive.com
  181. Archive</A><BR><BR><BR><A
  182. href="http://sourceforge.net/projects/acegisecurity"><IMG height=31
  183. alt="SourceForge.net Logo"
  184. src="Acegi Security System for Spring_archivos/sflogo.png" width=88
  185. border=0></A> </CENTER></FONT>
  186. </BODY></HTML>