<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia Site Renderer 1.3 at Feb 25, 2014 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache Shiro :: Support :: Spring - RAT (Release Audit Tool) results</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20140225" />
    <meta http-equiv="Content-Language" content="en" />
        
        </head>
  <body class="composite">
    <div id="banner">
                    <div id="bannerLeft">
                Apache Shiro :: Support :: Spring
                </div>
                    <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
            
                <div class="xleft">
        <span id="publishDate">Last Published: 2014-02-25</span>
                  &nbsp;| <span id="projectVersion">Version: 1.2.3</span>
                      </div>
            <div class="xright">                    <a href="./" title="Apache Shiro :: Support :: Spring">Apache Shiro :: Support :: Spring</a>
              
            
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
            
                                <h5>Parent Project</h5>
                  <ul>
                  <li class="none">
                          <a href="../index.html" title="Apache Shiro">Apache Shiro</a>
            </li>
          </ul>
                       <h5>Project Documentation</h5>
                  <ul>
                                                                                                                                                                                                                                                                                            <li class="collapsed">
                          <a href="project-info.html" title="Project Information">Project Information</a>
                  </li>
                                                                                                                                                                                                            <li class="expanded">
                          <a href="project-reports.html" title="Project Reports">Project Reports</a>
                    <ul>
                      <li class="none">
                          <a href="cobertura/index.html" title="Cobertura Test Coverage">Cobertura Test Coverage</a>
            </li>
                      <li class="none">
                          <a href="pmd.html" title="PMD Report">PMD Report</a>
            </li>
                      <li class="none">
                          <a href="cpd.html" title="CPD Report">CPD Report</a>
            </li>
                      <li class="none">
            <strong>RAT Report</strong>
          </li>
                      <li class="none">
                          <a href="surefire-report.html" title="Surefire Report">Surefire Report</a>
            </li>
                      <li class="none">
                          <a href="taglist.html" title="Tag List">Tag List</a>
            </li>
                      <li class="none">
                          <a href="jdepend-report.html" title="JDepend">JDepend</a>
            </li>
                      <li class="none">
                          <a href="dashboard-report.html" title="DashBoard Report">DashBoard Report</a>
            </li>
              </ul>
        </li>
          </ul>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                   
            
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2>RAT (Release Audit Tool) results<a name="RAT_Release_Audit_Tool_results"></a></h2><p>The following document contains the results of <a class="externalLink" href="http://incubator.apache.org/rat/apache-rat-plugin">RAT (Release Audit Tool)</a>.</p><p></p><div class="source"><pre>
*****************************************************
Summary
-------
Generated at: 2014-02-25T18:23:53-05:00
Notes: 0
Binaries: 0
Archives: 0
Standards: 25

Apache Licensed: 25
Generated Documents: 0

JavaDocs are generated and so license header is optional
Generated files do not required license headers

0 Unknown Licenses

*******************************

Unapproved licenses:


*******************************

Archives:

*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require AL headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc will be marked N
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/pom.xml
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/LifecycleBeanPostProcessor.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/aop/SpringAnnotationResolver.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/package-info.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationFactory.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/remoting/package-info.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/security/interceptor/AopAllianceAnnotationsAuthorizingMethodInterceptor.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/security/interceptor/AuthorizationAttributeSourceAdvisor.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/security/interceptor/package-info.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/web/ShiroFilterFactoryBean.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/main/java/org/apache/shiro/spring/web/package-info.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationFactoryTest.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/java/org/apache/shiro/spring/security/interceptor/AbstractAuthorizationAnnotationTest.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/java/org/apache/shiro/spring/security/interceptor/DapcAuthorizationAnnotationTest.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/java/org/apache/shiro/spring/security/interceptor/DefaultTestService.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/java/org/apache/shiro/spring/security/interceptor/SchemaAuthorizationAnnotationTest.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/java/org/apache/shiro/spring/security/interceptor/TestService.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/java/org/apache/shiro/spring/web/DummyFilter.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/java/org/apache/shiro/spring/web/ShiroFilterFactoryBeanTest.java
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/resources/log4j.properties
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/resources/org/apache/shiro/spring/security/interceptor/AbstractAuthorizationAnnotationTest-context.xml
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/resources/org/apache/shiro/spring/security/interceptor/DapcAuthorizationAnnotationTest-context.xml
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/resources/org/apache/shiro/spring/security/interceptor/SchemaAuthorizationAnnotationTest-context.xml
  AL    /Volumes/Slow-HDD/dev/source/shiro-1.2.x/target/checkout/support/spring/src/test/resources/org/apache/shiro/spring/web/ShiroFilterFactoryBeanTest.xml
 
 *****************************************************
 Printing headers for files without AL header...
 
 </pre></div></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
              Copyright &#169;                    2004-2014
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
            
                  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>