index.html 9.5 KB

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