shiro-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lhazlew...@apache.org
Subject svn commit: r1481417 [6/13] - in /shiro/site: ./ 2010/ 2011/ 2012/ assets/ templates/ trunk/ trunk/2010/ trunk/2010/03/ trunk/2010/03/18/ trunk/2010/06/ trunk/2010/06/01/ trunk/2010/09/ trunk/2010/09/14/ trunk/2010/09/20/ trunk/2010/09/24/ trunk/2010/1...
Date Sat, 11 May 2013 21:10:45 GMT
Added: shiro/site/trunk/developers.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/developers.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/developers.html (added)
+++ shiro/site/trunk/developers.html Sat May 11 21:10:40 2013
@@ -0,0 +1,47 @@
+<h1><a name="Developers-ApacheShiroDeveloperReferenceInformation"></a>Apache Shiro Developer Reference Information</h1>
+
+<p>This page and its children are dedicated for reference information used by the Apache Shiro development team when performing tasks as a committer.</p>
+
+<h2><a name="Developers-WritingDocumentation"></a>Writing Documentation</h2>
+
+<p>All non-JavaDoc documentation is written in our <a class="external-link" href="https://cwiki.apache.org/confluence/display/SHIRO">Apache Shiro Confluence Wiki Space</a>.  This space is converted into the public website as described below.</p>
+
+<h2><a name="Developers-Version2Brainstorming"></a>Version 2 Brainstorming</h2>
+
+<p>Version 2 has no timeline yet, but if you're interested in seeing what the major ideas are, as well as to contribute any of your own, you can visit the <a class="external-link" href="https://cwiki.apache.org/confluence/display/SHIRO/Version+2+Brainstorming">Version 2 Brainstorming Page</a>.</p>
+
+<h2><a name="Developers-Website"></a>Website</h2>
+
+<p>The Shiro website is automatically generated based on the content maintained in the <a class="external-link" href="https://cwiki.apache.org/confluence/display/SHIRO">Apache Shiro Confluence Wiki Space</a>, with a few notable exceptions that we'll cover in a bit.  Here's how it works:</p>
+
+<ol><li>Shiro committers and approved contributors modify the Confluence wiki pages as necessary.  The left navigation panel is controlled by the <a class="external-link" href="https://cwiki.apache.org/confluence/display/SHIRO/Navigation">Navigation wiki page</a>.
+<br clear="none" class="atl-forced-newline">
+<br clear="none" class="atl-forced-newline"></li><li>Confluence detects changes to these pages and executes a 3rd-party <a class="external-link" href="http://code.google.com/p/couldit-autoexport" rel="nofollow">Auto Export Confluence Plugin</a> that renders the content to .html files that can be served to the world (this plugin was installed in Confluence by the Apache Infrastructure team).  If you're setting up <tt>Auto Export</tt> for the first time, read the "Setting up Confluence Export" section below.
+<br clear="none" class="atl-forced-newline">
+<br clear="none" class="atl-forced-newline"> 
+	<ol><li>A project contributor makes a single Velocity-based HTML template file.  It can reference associated static assets (images, css files, javascript, etc) as necessary.  They test it in their HTML design tool of choice to get the look and feel they want.
+<br clear="none" class="atl-forced-newline">
+<br clear="none" class="atl-forced-newline"></li><li>The template designer sends the one HTML template file only (and not the referenced static assets) to an Apache member with Confluence administrative privileges and asks them to install their HTML template file into the <tt>Auto Export</tt> plugin configuration.  Unfortunately only a Confluence administrators may perform this function - the plugin does not support administration on a per-project level.
+<br clear="none" class="atl-forced-newline">
+<br clear="none" class="atl-forced-newline">
+You will have to separately upload the any referenced static assets to another location.  We'll cover that shortly.
+<br clear="none" class="atl-forced-newline">
+<br clear="none" class="atl-forced-newline"></li><li>The Confluence administrator installs the HTML template for the project's space only.</li><li>For each wiki page, the auto export plugin merges the page content with an HTML template and outputs a new <tt>.html</tt> file (html template + wiki content body = finished page).</li><li>All of the output files and any associated data (attachments, etc) are placed in a filesystem directory that mirrors content tree hierarchy in the wiki.<br clear="none">
+the The output files mirror the  fileThe auto export plugin takes all of the pages and their content (attachments, etc), applies a single HTML template to each wiki page, and outputs each 'merged' page (html template + embedded wiki content = finished page)</li></ol>
+	</li></ol>
+
+
+<p>The website files are maintained on <tt>people.apache.org</tt> in <tt>/www/shiro.apache.org</tt>:</p>
+
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>&gt; ssh people.apache.org
+
+(a bunch of login messages)
+
+[lhazlewood@minotaur:~]$
+[lhazlewood@minotaur:~]$ cd /www/shiro.apache.org
+[lhazlewood@minotaur:/www/shiro.apache.org]$ 
+</pre>
+</div></div>
+
+<p>Changes made to any files under this directory are synced and published to a set of mirrored Apache web servers that we can't access.  So note: <b>Any changes to files under this directory will be propagated to the public Shiro site</b>.  Be careful!</p>
\ No newline at end of file

Added: shiro/site/trunk/documentation-help-block.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/documentation-help-block.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/documentation-help-block.html (added)
+++ shiro/site/trunk/documentation-help-block.html Sat May 11 21:10:40 2013
@@ -0,0 +1,5 @@
+<h2><a name="DocumentationHelpBlock-Lendahandwithdocumentation"></a>Lend a hand with documentation </h2>
+
+<p>While we hope this documentation helps you with the work you're doing with Apache Shiro, the community is improving and expanding the documentation all the time.  If you'd like to help the Shiro project, please consider corrected, expanding, or adding documentation where you see a need. Every little bit of help you provide expands the community and in turn improves Shiro. </p>
+
+<p>The easiest way to contribute your documentation is to send it to the <a class="external-link" href="http://shiro-user.582556.n2.nabble.com/" rel="nofollow">User Forum</a> or the <a href="mailing-lists.html" title="Mailing Lists">User Mailing List</a>.</p>
\ No newline at end of file

Added: shiro/site/trunk/documentation.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/documentation.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/documentation.html (added)
+++ shiro/site/trunk/documentation.html Sat May 11 21:10:40 2013
@@ -0,0 +1,33 @@
+<h1><a name="Documentation-ApacheShiroDocumentation"></a>Apache Shiro Documentation</h1>
+
+<h3><a name="Documentation-Introduction"></a>Introduction</h3>
+<ul><li><a class="external-link" href="http://www.infoq.com/articles/apache-shiro" rel="nofollow">Application Security with Apache Shiro</a> - full intro article on InfoQ.com</li><li>Beginner's Introduction Tutorial - tutorial series for developers new to Apache Shiro by <a class="external-link" href="http://www.brucephillips.name" rel="nofollow">Bruce Phillips</a>:
+	<ul><li><a class="external-link" href="http://www.brucephillips.name/blog/index.cfm/2009/4/5/An-Introduction-to-Ki-formerly-JSecurity--A-Beginners--Tutorial-Part-1" rel="nofollow">Part 1</a></li><li><a class="external-link" href="http://www.brucephillips.name/blog/index.cfm/2009/4/5/An-Introduction-to-Ki-formerly-JSecurity--A-Beginners--Tutorial-Part-2" rel="nofollow">Part 2</a></li><li><a class="external-link" href="http://www.brucephillips.name/blog/index.cfm/2009/4/5/An-Introduction-to-Ki-formerly-JSecurity--A-Beginners--Tutorial-Part-3" rel="nofollow">Part 3</a></li><li><a class="external-link" href="http://www.brucephillips.name/blog/index.cfm/2009/4/5/An-Introduction-to-Ki-formerly-JSecurity--A-Beginners--Tutorial-Part-4" rel="nofollow">Part 4</a></li><li><a class="external-link" href="http://www.brucephillips.name/blog/index.cfm/2009/5/1/An-Introduction-to-Ki-formerly-JSecurity--A-Beginners-Tutorial-Part-5" rel="nofollow">Part 5</a></li></ul>
+	</li></ul>
+
+
+<h2><a name="Documentation-ApacheShiroReferenceandAPI"></a>Apache Shiro Reference and API</h2>
+
+<h3><a name="Documentation-ReferenceManual"></a>Reference Manual</h3>
+<ul><li><a href="reference.html" title="Reference">Reference Manual</a></li></ul>
+
+
+<h3><a name="Documentation-GuidesimportantShiroconcepts%3A"></a>Guides - important Shiro concepts:</h3>
+<ul><li><a href="10-minute-tutorial.html" title="10 Minute Tutorial">10 Minute Tutorial</a></li><li><a href="java-authentication-guide.html" title="Java Authentication Guide">Authentication Guide</a></li><li><a href="java-authorization-guide.html" title="Java Authorization Guide">Authorization Guide</a></li><li>Community-contributed <a href="articles.html" title="Articles">Articles</a></li></ul>
+
+
+<h3><a name="Documentation-CurrentRelease"></a>Current Release</h3>
+<p>Apache Shiro 1.1.0 (<a href="download.html" title="Download">Download</a>)</p>
+<ul><li><a class="external-link" href="static/current/apidocs">API</a> (JavaDoc)</li><li><a class="external-link" href="static/current/xref/">Browse Source</a> (XREF)</li><li><a class="external-link" href="static/current/">Maven Static Site</a></li><li><a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12314742&amp;styleName=Html&amp;projectId=12310950">Release Notes</a></li></ul>
+
+
+<h3><a name="Documentation-PreviousReleases"></a>Previous Releases</h3>
+<p>Apache Shiro 1.0.0-incubating (<a class="external-link" href="http://svn.apache.org/repos/asf/shiro/tags/shiro-root-1.0.0-incubating">Build from source</a>)</p>
+<ul><li><a class="external-link" href="static/1.0.0-incubating/apidocs">API</a> (JavaDoc)</li><li><a class="external-link" href="static/1.0.0-incubating/xref/">Browse Source</a> (XREF)</li><li><a class="external-link" href="static/1.0.0-incubating/">Maven Static Site</a></li><li><a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&amp;styleName=Html&amp;version=12314078">Release Notes</a></li></ul>
+
+
+<h2><a name="Documentation-Lendahandwithdocumentation"></a>Lend a hand with documentation </h2>
+
+<p>While we hope this documentation helps you with the work you're doing with Apache Shiro, the community is improving and expanding the documentation all the time.  If you'd like to help the Shiro project, please consider corrected, expanding, or adding documentation where you see a need. Every little bit of help you provide expands the community and in turn improves Shiro. </p>
+
+<p>The easiest way to contribute your documentation is to send it to the <a class="external-link" href="http://shiro-user.582556.n2.nabble.com/" rel="nofollow">User Forum</a> or the <a href="mailing-lists.html" title="Mailing Lists">User Mailing List</a>.</p>
\ No newline at end of file

Added: shiro/site/trunk/download.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/download.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/download.html (added)
+++ shiro/site/trunk/download.html Sat May 11 21:10:40 2013
@@ -0,0 +1,290 @@
+<div>
+<ul><li><a href="#Download-DownloadApacheShiro">Download Apache Shiro</a></li><ul><ul><li><a href="#Download-CodeSignatures">Code Signatures</a></li></ul><li><a href="#Download-LatestStableRelease%281.2.1%29">Latest Stable Release (1.2.1)</a></li><ul><li><a href="#Download-1.2.1.BinaryDistribution">1.2.1. Binary Distribution</a></li><li><a href="#Download-1.2.1SourceCodeDistribution">1.2.1 Source Code Distribution</a></li><li><a href="#Download-1.2.1SVNSourcerepository">1.2.1 SVN Source repository</a></li></ul><li><a href="#Download-PreviousReleases">Previous Releases</a></li><ul><li><a href="#Download-1.2.0">1.2.0</a></li><ul><li><a href="#Download-1.2.0BinaryDistribution">1.2.0 Binary Distribution</a></li><li><a href="#Download-1.2.0SourceCodeDistribution">1.2.0 Source Code Distribution</a></li><li><a href="#Download-1.2.0SVNSourcerepository">1.2.0 SVN Source repository</a></li></ul><li><a href="#Download-1.1.0">1.1.0</a></li><ul><li><a href="#Download-1.1.0BinaryDistribut
 ion">1.1.0 Binary Distribution</a></li><li><a href="#Download-1.1.0SourceCodeDistribution">1.1.0 Source Code Distribution</a></li><li><a href="#Download-1.1.0SVNSourcerepository">1.1.0 SVN Source repository</a></li></ul></ul></ul></ul></div>
+
+<h1><a name="Download-DownloadApacheShiro"></a>Download Apache Shiro</h1>
+
+<p>Apache Shiro 1.2.0 is the current stable release (Java 1.5+ JVM).</p>
+
+<p>To download Shiro please follow the instructions below.</p>
+
+<h3><a name="Download-CodeSignatures"></a>Code Signatures</h3>
+
+<p>You may <a class="external-link" href="http://www.apache.org/dev/release-signing.html#verifying-signature">verify the authenticity</a> of all artifacts below by using the PGP <a class="external-link" href="http://www.apache.org/dist/shiro/KEYS">KEYS</a> file. </p>
+
+<h2><a name="Download-LatestStableRelease%281.2.1%29"></a>Latest Stable Release (1.2.1)</h2>
+
+<h3><a name="Download-1.2.1.BinaryDistribution"></a>1.2.1. Binary Distribution</h3>
+
+<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>
+
+<p>To download the files directly as one .jar file just click the link in the "Artifact" column.  If you would like acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>
+
+<p>
+</p><div class="table-wrap">
+
+<table class="confluenceTable" id="TBL1365578679386"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Artifact </th><th colspan="1" rowspan="1" class="confluenceTh"> Maven Usage </th><th colspan="1" rowspan="1" class="confluenceTh"> Notes </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-all/1.2.1/shiro-all-1.2.1.jar" rel="nofollow">shiro-all</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Not Recommended</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> Includes all binary functionality for Shiro (without dependencies), useful in certain build environments (e.g. Ant).  However, this is <b>NOT</b> recommended in Maven builds as it does not retain correct dependency metadata, which can lead to Maven working incorrectly.  For Maven builds, it is <b>highly</b> recommended to specify individual modules listed below as you require them. </td></tr><t
 r><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-core/1.2.1/shiro-core-1.2.1.jar" rel="nofollow">shiro-core</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-core&lt;/artifactId&gt;
+  &lt;version&gt;1.2.1&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Required in all environments.  <a class="external-link" href="http://slf4j.org/" rel="nofollow">Slf4j</a>'s <tt>slf4j-api</tt> jar and one of its binding jars is required.  <tt>commons-beanutils</tt> is required only if using INI config. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-web/1.2.1/shiro-web-1.2.1.jar" rel="nofollow">shiro-web</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-web&lt;/artifactId&gt;
+  &lt;version&gt;1.2.1&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables support for web-based applications. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/1.2.1/shiro-aspectj-1.2.1.jar" rel="nofollow">shiro-aspectj</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-aspectj&lt;/artifactId&gt;
+  &lt;version&gt;1.2.1&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://www.eclipse.org/aspectj/" rel="nofollow">AspectJ</a> support for Shiro AOP and Annotations. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/1.2.1/shiro-cas-1.2.1.jar" rel="nofollow">shiro-cas</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-cas&lt;/artifactId&gt;
+  &lt;version&gt;1.2.1&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables Jasig <a class="external-link" href="http://www.jasig.org/cas" rel="nofollow">CAS</a> support. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/1.2.1/shiro-ehcache-1.2.1.jar" rel="nofollow">shiro-ehcache</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-ehcache&lt;/artifactId&gt;
+  &lt;version&gt;1.2.1&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://ehcache.org" rel="nofollow">Ehcache</a>-based famework caching. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-features/1.2.1/shiro-features-1.2.1-features.xml" rel="nofollow">shiro-features</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-features&lt;/artifactId&gt;
+  &lt;version&gt;1.2.1&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> OSGi / <a class="external-link" href="http://karaf.apache.org/">Apache Karaf</a> integration. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/1.2.1/shiro-guice-1.2.1.jar" rel="nofollow">shiro-guice</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-guice&lt;/artifactId&gt;
+  &lt;version&gt;1.2.1&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://code.google.com/p/google-guice/" rel="nofollow">Google Guice</a> integration. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/1.2.1/shiro-quartz-1.2.1.jar" rel="nofollow">shiro-quartz</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-quartz&lt;/artifactId&gt;
+  &lt;version&gt;1.2.1&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://www.quartz-scheduler.org/" rel="nofollow">Quartz</a>-based scheduling for Shiro native session validation. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/1.2.1/shiro-spring-1.2.1.jar" rel="nofollow">shiro-spring</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-spring&lt;/artifactId&gt;
+  &lt;version&gt;1.2.1&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://www.springsource.org/about" rel="nofollow">Spring Framework</a> integration. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/1.2.1/shiro-tools-hasher-1.2.1-cli.jar" rel="nofollow">shiro-tools-hasher-cli</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Not Relevant</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> A command-line program to perform hashing (MD5, SHA, etc) for files, streams and passwords.  Note that this is a command line program and not intended to be <br clear="none">
+used as a Maven/program dependency.  It is intended to be downloaded and executed:
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+java -jar shiro-tools-hasher-1.2.1-cli.jar
+</pre>
+</div></div> </td></tr></tbody></table>
+</div>
+
+<script type="text/javascript"> <!-- 
+//Copyright(c)2005,2010 Bob Swift and other contributors. All rights reserved. 
+function getElementInnerText(element){var str="";for(var i=0;i<element.childNodes.length;i++){switch(element.childNodes.item(i).nodeType){case 1:str+=getElementInnerText(element.childNodes.item(i));break;case 3:str+=element.childNodes.item(i).nodeValue;break;}}return str;}
+function trimSafe(v){return((v==undefined)||(v==null))?"":v.Trim();}String.prototype.Trim=new Function("return this.replace(/^\\s+|\\s+$/g,'')");
+function compareNumber(v1,v2){if(isNaN(v2)){if(isNaN(v1))return 0;return-1;}if(v1<v2)return-1;if(v1==v2)return 0;return 1;}
+function compareSeparatedNumber(v1,v2){for(i=0;(i<v1.length)&&(i<v2.length);i++){var result=compareNumber(parseInt(v1[i]),parseInt(v2[i]));if(result!=0)return result;}if(v1.length<v2.length)return-1;if(v2.length<v1.length)return 1;return 0;}
+function sortByCell(sortCell,firstDataRowIndex,footingCount){var compareFunction;var valueParser;compareFunction=compareNumber;if(sortCell.columnType=="I"){valueParser=function(value){return parseInt(getElementInnerText(value));};}else if(sortCell.columnType=="F"){valueParser=function(value){return parseFloat(getElementInnerText(value));};}else if(sortCell.columnType=="C"){valueParser=function(value){return parseFloat(getElementInnerText(value).replace(/[^\d\.\,\-]*([\d\.\,\-*]*).*/,'$1'));};}else if(sortCell.columnType.charAt(0)=='D'){if(Date.parseString){valueParser=function(value){var date=Date.parseString(trimSafe(getElementInnerText(value)),sortCell.columnType.substring(1));return((date==null)?NaN:date.getTime());};}else{valueParser=function(value){return Date.parse(getElementInnerText(value));};}}else if((sortCell.columnType=="/")||(sortCell.columnType==".")||(sortCell.columnType=="-")||(sortCell.columnType==":")){compareFunction=compareSeparatedNumber;valueParser=func
 tion(value){return getElementInnerText(value).split(sortCell.columnType);};}else if(sortCell.columnType=="A"){valueParser=function(value){return 0;};}else{compareFunction=function(v1,v2){if(v1<v2)return-1;if(v1==v2)return 0;return 1;};valueParser=function(value){return trimSafe(getElementInnerText(value)).toUpperCase();};}var headRowCount=(sortCell.sortTable.tHead==null)?0:sortCell.sortTable.tHead.rows.length;firstDataRowIndex=firstDataRowIndex-headRowCount;var table=sortCell.sortTable.tBodies[0];var rowCount=table.rows.length-firstDataRowIndex-footingCount;var map=Array(rowCount);var values=Array(rowCount);var compareTest=(sortCell.sortDescending?-1:1);sortCell.sortDescending=!sortCell.sortDescending;var firstCell=(((sortCell.sortTable.tHead==null)||(sortCell.sortTable.tHead.rows.length==0))?table.rows[0].cells[sortCell.columnIndex]:sortCell.sortTable.tHead.rows[0].cells[sortCell.columnIndex]);if((firstCell!=null)&&(firstCell.sortTable!=null)&&(firstCell.sortTable!=undefine
 d)&&(firstCell.sortTable.sortImage!=null)&&(firstCell.sortTable.sortImage!=undefined)){firstCell.sortTable.sortImage.setAttribute("src",firstCell.sortDescending?firstCell.sortTable.sortAttributeDescending:firstCell.sortTable.sortAttributeAscending);firstCell.appendChild(firstCell.sortTable.sortImage);}var i;for(i=0;i<rowCount;i++){map[i]=sortCell.sortFirstTime?i:(rowCount-1-i);var row=table.rows[i+firstDataRowIndex];var cellValue=row.cells[sortCell.columnIndex];values[i]=valueParser(cellValue);}sortCell.sortFirstTime=false;var didSwap;do{didSwap=false;for(i=0;i<rowCount-1;i++){if(compareFunction(values[map[i]],values[map[i+1]])==compareTest){saveIndex=map[i];map[i]=map[i+1];map[i+1]=saveIndex;didSwap=true;}}}while(didSwap);var tableRows=new Array();for(i=0;i<rowCount+footingCount;i++){tableRows.push(table.rows[i+firstDataRowIndex]);}for(i=0;i<rowCount+footingCount;i++){table.removeChild(tableRows[i]);}for(i=0;i<rowCount;i++){var row=tableRows[map[i]];table.appendChild(row);i
 f(row.autoNumber){row.cells[0].innerHTML=i+1;}}for(i=0;i<footingCount;i++){table.appendChild(tableRows[i+rowCount]);}}
+function enableSortOnCell(cell,columnIndex,table,columnTypes,customize){cell.style.cursor="pointer";cell.sortTable=table;cell.sortFirstTime=true;cell.sortDescending=false;cell.columnIndex=(customize.autoNumber?(columnIndex+1):columnIndex);if(columnIndex==-1){cell.columnType="I";}else{cell.columnType=(columnTypes&&columnTypes[columnIndex])?columnTypes[columnIndex]:"S";}if(cell.columnType!="X"){cell.onmouseover=function(){this.saveTitle=this.getAttribute('title');this.setAttribute('title',customize.sortTip+" "+((this.saveTitle!=null)&&(this.saveTitle!=undefined)?this.saveTitle:''));};cell.onmouseout=function(){this.setAttribute('title',this.saveTitle);};cell.onclick=function(){sortByCell(this,customize.firstDataRowIndex,customize.footingCount);};}else{cell.columnType=cell.columnType.substring(1);}}
+function sumColumn(table,index,firstDataRowIndex,columnType){var total=0;for(var i=firstDataRowIndex;i<table.rows.length;i++){var cell=table.rows[i].cells[index];var value;if(cell){if(columnType=='C'){value=parseFloat(getElementInnerText(cell).replace(/[^\d\.\,\-]*([\d\.\,\-*]*).*/,'$1'))}else{value=parseFloat(getElementInnerText(cell));}if(!isNaN(value)){total=total+value;}}}return total;}
+function appendTotalRow(table,columnTypes,firstDataRowIndex){var row=document.createElement('tr');var table=table.tBodies[0];var columnCount=(0<table.rows.length)?table.rows[table.rows.length-1].cells.length:0;for(var columnIndex=0;columnIndex<columnCount;columnIndex++){var column=document.createElement('th');column.className='confluenceTh';column.innerHTML=(columnIndex<columnTypes.length&&((columnTypes[columnIndex]=='I')||(columnTypes[columnIndex]=='F')||(columnTypes[columnIndex]=='C')))?sumColumn(table,columnIndex,firstDataRowIndex,columnTypes[columnIndex]):'';row.appendChild(column);}table.appendChild(row);}
+function handleRow(table,row,rowIndex,customize){var columnCount=row.cells.length;for(var i=0;i<columnCount;i++){if(customize.enableSorting&&(rowIndex<=customize.lastClickableRow)){enableSortOnCell(row.cells[i],i,table,customize.columnTypes,customize);}if((rowIndex==0)&&(customize.sortColumn!='')&&(customize.sortCell==null)&&(((i+1).toString()==customize.sortColumn)||(trimSafe(getElementInnerText(row.cells[i]))==customize.sortColumn)||(trimSafe(row.cells[i].getAttribute('title'))==customize.sortColumn))){customize.sortCell=row.cells[i];}if(customize.firstDataRowIndex<=rowIndex){if((customize.columnTypes[i]=="I")||(customize.columnTypes[i]=="F")||(customize.columnTypes[i]=="C")){row.cells[i].style.textAlign="right";}}if(customize.columnTypes[i]=="H"){row.cells[i].style.display="none";}if(customize.enableHeadingAttributes||(customize.firstDataRowIndex<=rowIndex)){if(i<customize.attrList.length){for(var j=0;j<customize.attrList[i].length;j++){var attr=customize.attrList[i][j].T
 rim().split("=");if(1<attr.length){var aName=attr[0].Trim();var aValue=attr[1].Trim();if((aName.toLowerCase()=="style")&&(2<aValue.length)){if((aValue.charAt(0)=='"')){aValue=aValue.substring(1,aValue.length-1);}row.cells[i].style.cssText=aValue;}else{row.cells[i].setAttribute(aName,aValue);}}}}}}if(customize.autoNumber){var column=document.createElement(!customize.autoNumberSort||(rowIndex<customize.firstDataRowIndex)?'th':'td');column.className=(!customize.autoNumberSort||(rowIndex<customize.firstDataRowIndex)?'confluenceTh':'confluenceTd');column.innerHTML=((rowIndex<customize.firstDataRowIndex)||(customize.totalRowCount-customize.firstDataRowIndex-customize.footingCount<rowIndex)?'':customize.dataRowCount++);column.setAttribute('align','right');row.autoNumber=!customize.autoNumberSort;row.insertBefore(column,row.cells[0]);if(customize.enableSorting&&customize.autoNumberSort&&(rowIndex<=customize.lastClickableRow)){enableSortOnCell(column,-1,table,null,customize);}}if((cu
 stomize.highlightColor!="")&&(customize.firstDataRowIndex<=rowIndex)){row.onmouseover=function(){this.tableHighLightRowColor=this.bgColor;this.bgColor=customize.highlightColor;};row.onmouseout=function(){this.bgColor=this.tableHighLightRowColor;this.tableHighLightRowColor=null;};}}
+function customizeMacroTable(tableId,columnTypes,firstDataRowIndex,highlightColor,enableSorting,sortTip,sortColumn,sortDescending,autoNumber,autoNumberSort,enableHeadingAttributes,footingCount,autoTotal,iconLocation){var customize=new Object;customize.columnTypes=columnTypes;customize.firstDataRowIndex=firstDataRowIndex;customize.highlightColor=highlightColor;customize.enableSorting=enableSorting;customize.sortTip=sortTip;customize.sortColumn=sortColumn;customize.sortDescending=sortDescending;customize.autoNumber=autoNumber;customize.autoNumberSort=autoNumberSort;customize.enableHeadingAttributes=enableHeadingAttributes;customize.footingCount=footingCount;customize.autoTotal=autoTotal;customize.iconLocation=iconLocation;var table=(typeof(tableId)=="string")?document.getElementById(tableId):null;if(table){if(customize.autoTotal){appendTotalRow(table,customize.columnTypes,customize.firstDataRowIndex);customize.footingCount++;}if(customize.iconLocation!=""){table.sortAttributeA
 scending=contextPath+customize.iconLocation+"down.gif";table.sortAttributeDescending=contextPath+customize.iconLocation+"up.gif";table.sortImage=document.createElement("IMG");}customize.lastClickableRow=customize.firstDataRowIndex-1;if(customize.lastClickableRow<0){customize.lastClickableRow=0;}customize.sortCell=null;customize.dataRowCount=1;var colAttrs=columnAttributes.split(",");customize.attrList=Array(colAttrs.length);for(var i=0;i<colAttrs.length;i++){customize.attrList[i]=colAttrs[i].Trim().split(";;");}var rowIndex=0;var headRowCount=(table.tHead==null)?0:table.tHead.rows.length;var footRowCount=(table.tFoot==null)?0:table.tFoot.rows.length;var bodyRowCount=table.tBodies[0].rows.length;customize.totalRowCount=headRowCount+footRowCount+bodyRowCount;for(var i=0;i<headRowCount;i++){var row=table.tHead.rows[i];handleRow(table,row,rowIndex,customize);rowIndex++;}for(var i=0;i<bodyRowCount;i++){var row=table.tBodies[0].rows[i];handleRow(table,row,rowIndex,customize);rowIn
 dex++;}for(var i=0;i<footRowCount;i++){var row=table.tFoot.rows[i];handleRow(table,row,rowIndex,customize);rowIndex++;}if(customize.sortCell!=null){customize.sortCell.sortDescending=customize.sortDescending;sortByCell(customize.sortCell,customize.firstDataRowIndex,customize.footingCount);}}return table;}
+
+var columnTypes = ['S'];
+var columnAttributes = 'style=&quot;white-space:nowrap;&quot;,,';
+customizeMacroTable('TBL1365578679386', columnTypes, 1, 'lightgoldenrodyellow', true, 'Click to sort', '', false, false, false, true, 0, false, '' );
+//-->
+ </script> 
+
+<h3><a name="Download-1.2.1SourceCodeDistribution"></a>1.2.1 Source Code Distribution</h3>
+
+<p>The source bundle requires JDK 1.6 and Maven 3.0.3+ to build:</p>
+
+<p><a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.1/shiro-root-1.2.1-source-release.zip">zip</a> (<a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.1/shiro-root-1.2.1-source-release.zip.asc">pgp</a>, <a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.1/shiro-root-1.2.1-source-release.zip.md5">md5</a>, <a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.1/shiro-root-1.2.1-source-release.zip.sha1">sha1</a>)</p>
+
+<h3><a name="Download-1.2.1SVNSourcerepository"></a>1.2.1 SVN Source repository</h3>
+
+<p>The source can be checked out anonymously from SVN with this command:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+svn checkout http:<span class="code-comment">//svn.apache.org/repos/asf/shiro/tags/shiro-root-1.2.1</span>
+</pre>
+</div></div>
+
+<h2><a name="Download-PreviousReleases"></a>Previous Releases</h2>
+
+<h3><a name="Download-1.2.0"></a>1.2.0</h3>
+
+<h4><a name="Download-1.2.0BinaryDistribution"></a>1.2.0 Binary Distribution</h4>
+
+<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>
+
+<p>To download the files directly as one .jar file just click the link in the "Artifact" column.  If you would like acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>
+
+<p>
+</p><div class="table-wrap">
+
+<table class="confluenceTable" id="TBL1365578679387"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Artifact </th><th colspan="1" rowspan="1" class="confluenceTh"> Maven Usage </th><th colspan="1" rowspan="1" class="confluenceTh"> Notes </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-all/1.2.0/shiro-all-1.2.0.jar" rel="nofollow">shiro-all</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Not Recommended</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> Includes all binary functionality for Shiro (without dependencies), useful in certain build environments (e.g. Ant).  However, this is <b>NOT</b> recommended in Maven builds as it does not retain correct dependency metadata, which can lead to Maven working incorrectly.  For Maven builds, it is <b>highly</b> recommended to specify individual modules listed below as you require them. </td></tr><t
 r><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-core/1.2.0/shiro-core-1.2.0.jar" rel="nofollow">shiro-core</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-core&lt;/artifactId&gt;
+  &lt;version&gt;1.2.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Required in all environments.  <a class="external-link" href="http://slf4j.org/" rel="nofollow">Slf4j</a>'s <tt>slf4j-api</tt> jar and one of its binding jars is required.  <tt>commons-beanutils</tt> is required only if using INI config. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-web/1.2.0/shiro-web-1.2.0.jar" rel="nofollow">shiro-web</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-web&lt;/artifactId&gt;
+  &lt;version&gt;1.2.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables support for web-based applications. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/1.2.0/shiro-aspectj-1.2.0.jar" rel="nofollow">shiro-aspectj</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-aspectj&lt;/artifactId&gt;
+  &lt;version&gt;1.2.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://www.eclipse.org/aspectj/" rel="nofollow">AspectJ</a> support for Shiro AOP and Annotations. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/1.2.0/shiro-cas-1.2.0.jar" rel="nofollow">shiro-cas</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-cas&lt;/artifactId&gt;
+  &lt;version&gt;1.2.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables Jasig <a class="external-link" href="http://www.jasig.org/cas" rel="nofollow">CAS</a> support. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/1.2.0/shiro-ehcache-1.2.0.jar" rel="nofollow">shiro-ehcache</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-ehcache&lt;/artifactId&gt;
+  &lt;version&gt;1.2.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://ehcache.org" rel="nofollow">Ehcache</a>-based famework caching. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-features/1.2.0/shiro-features-1.2.0-features.xml" rel="nofollow">shiro-features</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-features&lt;/artifactId&gt;
+  &lt;version&gt;1.2.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> OSGi / <a class="external-link" href="http://karaf.apache.org/">Apache Karaf</a> integration. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/1.2.0/shiro-guice-1.2.0.jar" rel="nofollow">shiro-guice</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-guice&lt;/artifactId&gt;
+  &lt;version&gt;1.2.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://code.google.com/p/google-guice/" rel="nofollow">Google Guice</a> integration. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/1.2.0/shiro-quartz-1.2.0.jar" rel="nofollow">shiro-quartz</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-quartz&lt;/artifactId&gt;
+  &lt;version&gt;1.2.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://www.quartz-scheduler.org/" rel="nofollow">Quartz</a>-based scheduling for Shiro native session validation. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/1.2.0/shiro-spring-1.2.0.jar" rel="nofollow">shiro-spring</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-spring&lt;/artifactId&gt;
+  &lt;version&gt;1.2.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://www.springsource.org/about" rel="nofollow">Spring Framework</a> integration. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/1.2.0/shiro-tools-hasher-1.2.0-cli.jar" rel="nofollow">shiro-tools-hasher-cli</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Not Relevant</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> A command-line program to perform hashing (MD5, SHA, etc) for files, streams and passwords.  Note that this is a command line program and not intended to be <br clear="none">
+used as a Maven/program dependency.  It is intended to be downloaded and executed:
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+java -jar shiro-tools-hasher-1.2.0-cli.jar
+</pre>
+</div></div> </td></tr></tbody></table>
+</div>
+
+<script type="text/javascript"> <!-- 
+var columnTypes = ['S'];
+var columnAttributes = 'style=&quot;white-space:nowrap;&quot;,,';
+customizeMacroTable('TBL1365578679387', columnTypes, 1, 'lightgoldenrodyellow', true, 'Click to sort', '', false, false, false, true, 0, false, '' );
+//-->
+ </script> 
+
+<h4><a name="Download-1.2.0SourceCodeDistribution"></a>1.2.0 Source Code Distribution</h4>
+
+<p>The source bundle requires JDK 1.6 and Maven 3.0.3+ to build:</p>
+
+<p><a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.0/shiro-root-1.2.0-source-release.zip">zip</a> (<a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.0/shiro-root-1.2.0-source-release.zip.asc">pgp</a>, <a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.0/shiro-root-1.2.0-source-release.zip.md5">md5</a>, <a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.0/shiro-root-1.2.0-source-release.zip.sha1">sha1</a>)</p>
+
+<h4><a name="Download-1.2.0SVNSourcerepository"></a>1.2.0 SVN Source repository</h4>
+
+<p>The source can be checked out anonymously from SVN with this command:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+svn checkout http:<span class="code-comment">//svn.apache.org/repos/asf/shiro/tags/shiro-root-1.2.0</span>
+</pre>
+</div></div>
+
+<h3><a name="Download-1.1.0"></a>1.1.0</h3>
+
+<h4><a name="Download-1.1.0BinaryDistribution"></a>1.1.0 Binary Distribution</h4>
+
+<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>
+
+<p>To download the files directly as one .jar file just click the link in the "Artifact" column.  If you would like acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>
+
+<p>
+</p><div class="table-wrap">
+
+<table class="confluenceTable" id="TBL1365578679388"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Artifact </th><th colspan="1" rowspan="1" class="confluenceTh"> Maven Usage </th><th colspan="1" rowspan="1" class="confluenceTh"> Notes </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-all/1.1.0/shiro-all-1.1.0.jar" rel="nofollow">shiro-all</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Not Recommended</b> </td><td colspan="1" rowspan="1" class="confluenceTd"> Includes all binary functionality for Shiro (without dependencies), useful in certain build environments (e.g. Ant).  However, this is <b>NOT</b> recommended in Maven builds as it does not retain correct dependency metadata, which can lead to Maven working incorrectly.  For Maven builds, it is <b>highly</b> recommended to specify individual modules listed below as you require them. </td></tr><t
 r><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-core/1.1.0/shiro-core-1.1.0.jar" rel="nofollow">shiro-core</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-core&lt;/artifactId&gt;
+  &lt;version&gt;1.1.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Required in all environments.  <a class="external-link" href="http://slf4j.org/" rel="nofollow">Slf4j</a>'s <tt>slf4j-api</tt> jar and one of its binding jars is required.  <tt>commons-beanutils</tt> is required only if using INI config. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-web/1.1.0/shiro-web-1.1.0.jar" rel="nofollow">shiro-web</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-web&lt;/artifactId&gt;
+  &lt;version&gt;1.1.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables support for web-based applications. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/1.1.0/shiro-aspectj-1.1.0.jar" rel="nofollow">shiro-aspectj</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-aspectj&lt;/artifactId&gt;
+  &lt;version&gt;1.1.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://www.eclipse.org/aspectj/" rel="nofollow">AspectJ</a> support for Shiro AOP and Annotations. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/1.1.0/shiro-ehcache-1.1.0.jar" rel="nofollow">shiro-ehcache</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-ehcache&lt;/artifactId&gt;
+  &lt;version&gt;1.1.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://ehcache.org" rel="nofollow">Ehcache</a>-based famework caching. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/1.1.0/shiro-quartz-1.1.0.jar" rel="nofollow">shiro-quartz</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-quartz&lt;/artifactId&gt;
+  &lt;version&gt;1.1.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://www.quartz-scheduler.org/" rel="nofollow">Quartz</a>-based scheduling for Shiro native session validation. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <a class="external-link" href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/1.1.0/shiro-spring-1.1.0.jar" rel="nofollow">shiro-spring</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
+  &lt;artifactId&gt;shiro-spring&lt;/artifactId&gt;
+  &lt;version&gt;1.1.0&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div></div> </td><td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link" href="http://www.springsource.org/about" rel="nofollow">Spring Framework</a> integration. </td></tr></tbody></table>
+</div>
+
+<script type="text/javascript"> <!-- 
+var columnTypes = ['S'];
+var columnAttributes = 'style=&quot;white-space:nowrap;&quot;,,';
+customizeMacroTable('TBL1365578679388', columnTypes, 1, 'lightgoldenrodyellow', true, 'Click to sort', '', false, false, false, true, 0, false, '' );
+//-->
+ </script> 
+
+<h4><a name="Download-1.1.0SourceCodeDistribution"></a>1.1.0 Source Code Distribution</h4>
+
+<p>The 1.1.0 source bundle requires JDK 1.5+ and Maven 2.2+ to build:</p>
+
+<p><a class="external-link" href="http://archive.apache.org/dist/shiro/1.1.0/shiro-root-1.1.0-source-release.zip">zip</a> (<a class="external-link" href="http://archive.apache.org/dist/shiro/1.1.0/shiro-root-1.1.0-source-release.zip.asc">pgp</a>, <a class="external-link" href="http://archive.apache.org/dist/shiro/1.1.0/shiro-root-1.1.0-source-release.zip.md5">md5</a>, <a class="external-link" href="http://archive.apache.org/dist/shiro/1.1.0/shiro-root-1.1.0-source-release.zip.sha1">sha1</a>)</p>
+
+<h4><a name="Download-1.1.0SVNSourcerepository"></a>1.1.0 SVN Source repository</h4>
+
+<p>The source can be checked out anonymously from SVN with this command:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+svn checkout http:<span class="code-comment">//svn.apache.org/repos/asf/shiro/tags/shiro-root-1.1.0</span>
+</pre>
+</div></div>
\ No newline at end of file

Added: shiro/site/trunk/events.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/events.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/events.html (added)
+++ shiro/site/trunk/events.html Sat May 11 21:10:40 2013
@@ -0,0 +1,19 @@
+<h1><a name="Events-ApacheShiroEvents"></a>Apache Shiro Events</h1>
+
+<p>Below is list of upcoming and past Shiro events.  </p>
+
+<h2><a name="Events-UpcomingEvents"></a>Upcoming Events</h2>
+
+<h3><a name="Events-DevNexus%3AApplicationSecuritywithApacheShiro"></a>DevNexus: Application Security with Apache Shiro</h3>
+<p>March 22, 2011, Atlanta, GA
+<br clear="none" class="atl-forced-newline"><a class="external-link" href="http://www.devnexus.com/s/presentations#1138" rel="nofollow">http://www.devnexus.com/s/presentations#1138</a></p>
+
+<h2><a name="Events-PastEvents"></a>Past Events</h2>
+
+<h3><a name="Events-SanFranciscoJavaUserGroup%3ASuperSimpleApplicationSecuritywithApacheShiro"></a>San Francisco Java User Group: Super Simple Application Security with Apache Shiro</h3>
+<p>October 12, 2010, San Francisco, CA
+<br clear="none" class="atl-forced-newline"><a class="external-link" href="http://www.sfjava.org/events/13539905/" rel="nofollow">http://www.sfjava.org/events/13539905/</a></p>
+
+<h3><a name="Events-SDForum%3ASecuringApplicationswithApacheShiro"></a>SDForum: Securing Applications with Apache Shiro</h3>
+<p>June 1, 2010, Palo Alto, CA
+<br clear="none" class="atl-forced-newline"><a class="external-link" href="http://www.sdforum.org/index.cfm?fuseaction=Calendar.eventDetail&amp;eventID=13671&amp;pageId=471" rel="nofollow">http://www.sdforum.org/index.cfm?fuseaction=Calendar.eventDetail&amp;eventID=13671&amp;pageId=471</a></p>
\ No newline at end of file

Added: shiro/site/trunk/features-overview.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/features-overview.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/features-overview.html (added)
+++ shiro/site/trunk/features-overview.html Sat May 11 21:10:40 2013
@@ -0,0 +1,39 @@
+<h1><a name="FeaturesOverview-ApacheShiroFeaturesOverview"></a>Apache Shiro Features Overview</h1>
+
+<p>Apache Shiro aims to be the most comprehensive, but also the easiest to use Java security framework available.   Here are some of the frameworks finer points:</p>
+
+<ul><li>The easiest to understand Java Security API anywhere.  Class and Interface names are intuitive and <em>make sense</em>.  Anything is pluggable but good defaults exist for everything.</li></ul>
+
+
+<ul><li>Support authentication ('logins') across one or more pluggable data sources (LDAP, JDBC, ActiveDirectory, etc).</li></ul>
+
+
+<ul><li>Perform authorization ('access control') based on roles or fine-grained permissions, also using pluggable data sources.</li></ul>
+
+
+<ul><li>First-class caching support for enhanced application performance.</li></ul>
+
+
+<ul><li>Built-in POJO-based Enterprise Session Management.  Use in both web and non-web environments or in any environment where Single Sign On (SSO) or clustered or distributed sessions are desired.</li></ul>
+
+
+<ul><li><em>Heterogeneous</em> client session access.  You are no longer forced to use only the <tt>HttpSession</tt> or Stateful Session Beans, which often unnecessarily tied applications to specific environments.  Flash applets, C# applications, Java Web Start, and Web Applications, etc. can now all share session state regardless of deployment environment.</li></ul>
+
+
+<ul><li>Simple Single Sign-On (SSO) support piggybacking the above Enterprise Session Management.  If sessions are federated across multiple applications, the user's authentication state can be shared too.  Log in once to any application and the others all recognize that log-in.</li></ul>
+
+
+<ul><li>Secure data with the easiest possible Cryptography APIs available, giving you power and simplicity beyond what Java provides by default for ciphers and hashes.</li></ul>
+
+
+<ul><li>An incredibly robust yet <b><em>low-configuration</em></b> web framework that can secure any url or resource, automatically handle logins and logouts, perform Remember Me services, and more.</li></ul>
+
+
+<ul><li>Extremely low number of required dependencies.  Standalone configuration requires only <tt>slf4j-api.jar</tt> and one of slf4j's binding .jars.  Web configuration additionally requires <tt>commons-beanutils-core.jar</tt>.  Feature-based dependencies (Ehcache caching, Quartz-based Session validation, Spring dependency injection, etc.) can be added when needed.</li></ul>
+
+
+<h2><a name="FeaturesOverview-WantmoreinformationonwhatShirocando%3F"></a>Want more information on what Shiro can do?  </h2>
+<p>Check out the specific features for each of Shiro's major components: <a href="authentication-features.html" title="Authentication Features">Authentications</a>, <a href="authorization-features.html" title="Authorization Features">Authorization</a>, <a href="session-management-features.html" title="Session Management Features">Session Management</a>, and <a href="cryptography-features.html" title="Cryptography Features">Cryptogrpahy</a>.</p>
+
+<h2><a name="FeaturesOverview-GetStartedin10MinuteswithShiro"></a>Get Started in 10 Minutes with Shiro</h2>
+<p>Try out Shiro for yourself with our <a href="10-minute-tutorial.html" title="10 Minute Tutorial">10 Minute Tutorial</a>.  And if you have any questions about Shiro, please check out our <a href="forums.html" title="Forums">community forum</a> or <a href="mailing-lists.html" title="Mailing Lists">user mailing list</a> for answers from the community.</p>
\ No newline at end of file

Added: shiro/site/trunk/features.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/features.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/features.html (added)
+++ shiro/site/trunk/features.html Sat May 11 21:10:40 2013
@@ -0,0 +1,39 @@
+<h1><a name="Features-ApacheShiroFeaturesOverview"></a>Apache Shiro Features Overview</h1>
+
+<p>Apache Shiro aims to be the most comprehensive, but also the easiest to use Java security framework available.   Here are some of the frameworks finer points:</p>
+
+<ul><li>The easiest to understand Java Security API anywhere.  Class and Interface names are intuitive and <em>make sense</em>.  Anything is pluggable but good defaults exist for everything.</li></ul>
+
+
+<ul><li>Support authentication ('logins') across one or more pluggable data sources (LDAP, JDBC, ActiveDirectory, etc).</li></ul>
+
+
+<ul><li>Perform authorization ('access control') based on roles or fine-grained permissions, also using pluggable data sources.</li></ul>
+
+
+<ul><li>First-class caching support for enhanced application performance.</li></ul>
+
+
+<ul><li>Built-in POJO-based Enterprise Session Management.  Use in both web and non-web environments or in any environment where Single Sign On (SSO) or clustered or distributed sessions are desired.</li></ul>
+
+
+<ul><li><em>Heterogeneous</em> client session access.  You are no longer forced to use only the <tt>HttpSession</tt> or Stateful Session Beans, which often unnecessarily tied applications to specific environments.  Flash applets, C# applications, Java Web Start, and Web Applications, etc. can now all share session state regardless of deployment environment.</li></ul>
+
+
+<ul><li>Simple Single Sign-On (SSO) support piggybacking the above Enterprise Session Management.  If sessions are federated across multiple applications, the user's authentication state can be shared too.  Log in once to any application and the others all recognize that log-in.</li></ul>
+
+
+<ul><li>Secure data with the easiest possible Cryptography APIs available, giving you power and simplicity beyond what Java provides by default for ciphers and hashes.</li></ul>
+
+
+<ul><li>An incredibly robust yet <b><em>low-configuration</em></b> web framework that can secure any url or resource, automatically handle logins and logouts, perform Remember Me services, and more.</li></ul>
+
+
+<ul><li>Extremely low number of required dependencies.  Standalone configuration requires only <tt>slf4j-api.jar</tt> and one of slf4j's binding .jars.  Web configuration additionally requires <tt>commons-beanutils-core.jar</tt>.  Feature-based dependencies (Ehcache caching, Quartz-based Session validation, Spring dependency injection, etc.) can be added when needed.</li></ul>
+
+
+<h2><a name="Features-WantmoreinformationonwhatShirocando%3F"></a>Want more information on what Shiro can do?  </h2>
+<p>Check out the specific features for each of Shiro's major components: <a href="authentication-features.html" title="Authentication Features">Authentications</a>, <a href="authorization-features.html" title="Authorization Features">Authorization</a>, <a href="session-management-features.html" title="Session Management Features">Session Management</a>, and <a href="cryptography-features.html" title="Cryptography Features">Cryptogrpahy</a>.</p>
+
+<h2><a name="Features-GetStartedin10MinuteswithShiro"></a>Get Started in 10 Minutes with Shiro</h2>
+<p>Try out Shiro for yourself with our <a href="10-minute-tutorial.html" title="10 Minute Tutorial">10 Minute Tutorial</a>.  And if you have any questions about Shiro, please check out our <a href="forums.html" title="Forums">community forum</a> or <a href="mailing-lists.html" title="Mailing Lists">user mailing list</a> for answers from the community.</p>
\ No newline at end of file

Added: shiro/site/trunk/forums.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/forums.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/forums.html (added)
+++ shiro/site/trunk/forums.html Sat May 11 21:10:40 2013
@@ -0,0 +1,10 @@
+<h1><a name="Forums-ApacheShiroCommunityForums"></a>Apache Shiro Community Forums</h1>
+
+<p>For users that prefer to use forums over mailing lists, we use the <a class="external-link" href="http://www.nabble.com" rel="nofollow">Nabble</a> forum/email/archive service.  Nabble ensures that its forums remain synchronized with the mailing lists, so feel free to use whichever mechanism you like.</p>
+
+
+<ul class="alternate" type="square"><li><a class="external-link" href="http://shiro-user.582556.n2.nabble.com/" rel="nofollow">Shiro User Forum</a></li><li><a class="external-link" href="http://shiro-developer.582600.n2.nabble.com/" rel="nofollow">Shiro Developer Forum</a></li></ul>
+
+
+<h2><a name="Forums-MailingLists"></a>Mailing Lists</h2>
+<p>For those that may prefer mailing lists, please see the <a href="mailing-lists.html" title="Mailing Lists">Mailing Lists</a> information.</p>
\ No newline at end of file

Added: shiro/site/trunk/getting-started-block.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/getting-started-block.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/getting-started-block.html (added)
+++ shiro/site/trunk/getting-started-block.html Sat May 11 21:10:40 2013
@@ -0,0 +1,2 @@
+<h2><a name="GettingStartedBlock-GetStartedin10MinuteswithShiro"></a>Get Started in 10 Minutes with Shiro</h2>
+<p>Try out Shiro for yourself with our <a href="10-minute-tutorial.html" title="10 Minute Tutorial">10 Minute Tutorial</a>.  And if you have any questions about Shiro, please check out our <a href="forums.html" title="Forums">community forum</a> or <a href="mailing-lists.html" title="Mailing Lists">user mailing list</a> for answers from the community.</p>
\ No newline at end of file

Added: shiro/site/trunk/graduation-resolution.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/graduation-resolution.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/graduation-resolution.html (added)
+++ shiro/site/trunk/graduation-resolution.html Sat May 11 21:10:40 2013
@@ -0,0 +1,55 @@
+<h1><a name="GraduationResolution-ApacheShiroGraduationResolution"></a>Apache Shiro Graduation Resolution</h1>
+
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>Establish Apache Shiro Project
+
+WHEREAS, the Board of Directors deems it to be in the best
+interests of the Foundation and consistent with the Foundation's
+purpose to establish a Project Management Committee charged with
+the creation and maintenance of open-source software related to
+application security, for distribution at no charge to the 
+public.
+
+NOW, THEREFORE, BE IT RESOLVED, that a Project Management
+Committee (PMC), to be known as the "The Apache Shiro Project",
+be and hereby is established pursuant to Bylaws of the
+Foundation; and be it further
+
+RESOLVED, that The Apache Shiro Project be and hereby is
+responsible for the creation and maintenance of a software
+project related to application security; and be it further
+
+RESOLVED, that the office of "Vice President, Shiro" be and
+hereby is created, the person holding such office to serve at the
+direction of the Board of Directors as the chair of The Apache
+Shiro Project, and to have primary responsibility for management 
+of the projects within the scope of responsibility of 
+The Apache Shiro Project; and be it further
+
+RESOLVED, that the persons listed immediately below be and
+hereby are appointed to serve as the initial members of The
+Apache Shiro Project:
+
+* Les Hazlewood       (lhazlewood@apache.org)
+* Kalle Korhonen      (kaosko@apache.org)
+* Peter Ledbrook      (pledbrook@apache.org)
+* Jeremy Haile        (jhaile@apache.org)
+* Craig L Russell     (craig.russell@oracle.com)
+
+NOW, THEREFORE, BE IT FURTHER RESOLVED, that Les Hazlewood
+be and hereby is appointed to the office of Vice
+President, Shiro, to serve in accordance with and subject to
+the direction of the Board of Directors and the Bylaws of the
+Foundation until death, resignation, retirement, removal or
+disqualification, or until a successor is appointed; and be it
+further
+
+RESOLVED, that the initial Apache Shiro Project be and hereby
+is tasked with the migration and rationalization of the Apache
+Incubator Shiro podling; and be it further
+
+RESOLVED, that all responsibility pertaining to the Apache
+Incubator Shiro podling encumbered upon the Apache Incubator
+PMC are hereafter discharged.
+</pre>
+</div></div>
\ No newline at end of file

Added: shiro/site/trunk/guice.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/guice.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/guice.html (added)
+++ shiro/site/trunk/guice.html Sat May 11 21:10:40 2013
@@ -0,0 +1,184 @@
+<h1><a name="Guice-IntegratingApacheShirointoGuicebasedApplication"></a>Integrating Apache Shiro into Guice based Application</h1>
+
+<p>Shiro <a class="external-link" href="http://code.google.com/p/google-guice/" rel="nofollow">Guice</a> integration was added in Shiro 1.2.  This page covers the ways to integrate Shiro into Guice-based applications using standard Guice conventions and mechanisms.  Prior to reading this integration document, you should be a least somewhat familiar with Guice.</p>
+
+<h2><a name="Guice-Overview"></a>Overview</h2>
+
+<p>shiro-guice provides three Guice modules that can be included in your application.</p>
+
+<ul><li>ShiroModule
+	<ul><li>Provides basic integration for setting up the <tt>SecurityManager</tt>, any <tt>Realms</tt>, and any other Shiro configuration.</li><li>This module is used by extending it and adding your own custom configuration.</li></ul>
+	</li></ul>
+
+
+<ul><li>ShiroWebModule
+	<ul><li>Extension of <tt>ShiroModule</tt> that sets up the web environment and also allows for filter chain configuration.  This uses the <a class="external-link" href="http://code.google.com/p/google-guice/wiki/ServletModule" rel="nofollow">Guice Servlet Module</a> to configure the filters, and so requires that to be setup.</li><li>Like the <tt>ShiroModule</tt>, this module is used by extending it and adding your own custom configuration.</li></ul>
+	</li></ul>
+
+
+<ul><li>ShiroAopModule
+	<ul><li>Uses <a class="external-link" href="http://code.google.com/p/google-guice/wiki/AOP" rel="nofollow">Guice AOP</a> to implement the Shiro AOP annotations.  This module is primarily concerned with adapting Shiro <tt>AnnotationMethodInterceptors</tt> to the Guice method interceptor model.</li><li>This module is typically used by simply installing it.  However, if you have your own <tt>AnnotationMethodInterceptors</tt> written for Shiro, they can be easily incorporated by extending it.</li></ul>
+	</li></ul>
+
+
+<h2><a name="Guice-GettingStarted"></a>Getting Started</h2>
+
+<p>The most simple configuration is to extend <tt>ShiroModule</tt> to install your own <tt>Realm</tt>. </p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    class MyShiroModule <span class="code-keyword">extends</span> ShiroModule {
+        <span class="code-keyword">protected</span> void configureShiro() {
+            <span class="code-keyword">try</span> {
+                bindRealm().toConstructor(IniRealm.class.getConstructor(Ini.class));
+            } <span class="code-keyword">catch</span> (NoSuchMethodException e) {
+                addError(e);
+            }
+        }
+
+        @Provides
+        Ini loadShiroIni() {
+            <span class="code-keyword">return</span> Ini.fromResourcePath(<span class="code-quote">"classpath:shiro.ini"</span>);
+        }
+    }
+</pre>
+</div></div>
+
+<p>In this case, user and role configuration would go in the <tt>shiro.ini</tt> file.</p>
+
+<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>shiro.ini usage in Guice</b><br clear="none">It is important to note that, in this above configuration, only the <tt>users</tt> and <tt>roles</tt> sections from the ini file are used.</td></tr></table></div>
+
+<p>Then, the module is used to create a Guice injector, and the injector is used to obtain a <tt>SecurityManager</tt>.  The following example serves the same purpose as the first three lines in the <a class="external-link" href="10-minute-tutorial.html#10MinuteTutorial-Quickstart.java">Quickstart</a> example.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    Injector injector = Guice.createInjector(<span class="code-keyword">new</span> MyShiroModule());
+    <span class="code-object">SecurityManager</span> securityManager = injector.getInstance(<span class="code-object">SecurityManager</span>.class);
+    SecurityUtils.setSecurityManager(securityManager);
+</pre>
+</div></div>
+
+<h2><a name="Guice-AOP"></a>AOP</h2>
+
+<p>Shiro includes several annotations and method interceptors useful for performing authorization via AOP.  It also provides a simple API for writing Shiro-specific method interceptors.  shiro-guice supports this with the <tt>ShiroAopModule</tt>.</p>
+
+<p>To use it, simply instantiate and install the module alongside your application module and your <tt>ShiroModule</tt>. </p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    Injector injector = Guice.createInjector(<span class="code-keyword">new</span> MyShiroModule(), <span class="code-keyword">new</span> ShiroAopModule(), <span class="code-keyword">new</span> MyApplicationModule());
+</pre>
+</div></div>
+
+<p>If you have written custom interceptors that conform to Shiro's api, you may find it useful to extend the <tt>ShiroAopModule</tt>. </p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    class MyShiroAopModule <span class="code-keyword">extends</span> ShiroAopModule {
+        <span class="code-keyword">protected</span> void configureInterceptors(AnnotationResolver resolver)
+        {
+            bindShiroInterceptor(<span class="code-keyword">new</span> MyCustomAnnotationMethodInterceptor(resolver));
+        }
+    }
+</pre>
+</div></div>
+
+<h2><a name="Guice-Web"></a>Web</h2>
+
+<p>shiro-guice's web integration is designed to integrate Shiro and its filter paradigm with Guice's servlet module.  If you are using Shiro in a web environment, and using Guice's servlet module, then you should extend ShiroWebModule rather than ShiroModule. Your web.xml should be setup exactly as Guice's servlet module recommends.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    class MyShiroWebModule <span class="code-keyword">extends</span> ShiroWebModule {
+        MyShiroWebModule(ServletContext sc) {
+            <span class="code-keyword">super</span>(sc);
+        }
+
+        <span class="code-keyword">protected</span> void configureShiroWeb() {
+            <span class="code-keyword">try</span> {
+                bindRealm().toConstructor(IniRealm.class.getConstructor(Ini.class));
+            } <span class="code-keyword">catch</span> (NoSuchMethodException e) {
+                addError(e);
+            }
+
+            addFilterChain(<span class="code-quote">"/<span class="code-keyword">public</span>/**"</span>, ANON);
+            addFilterChain(<span class="code-quote">"/stuff/allowed/**"</span>, AUTHC_BASIC, config(PERMS, <span class="code-quote">"yes"</span>));
+            addFilterChain(<span class="code-quote">"/stuff/forbidden/**"</span>, AUTHC_BASIC, config(PERMS, <span class="code-quote">"no"</span>));
+            addFilterChain(<span class="code-quote">"/**"</span>, AUTHC_BASIC);
+        }
+
+        @Provides
+        Ini loadShiroIni() {
+            <span class="code-keyword">return</span> Ini.fromResourcePath(<span class="code-quote">"classpath:shiro.ini"</span>);
+        }
+    }
+</pre>
+</div></div>
+
+<p>In the previous code, we have bound an <tt>IniRealm</tt> and setup four filter chains.  These chains would be equivalent to the following ini configuration. </p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    [urls]
+    /<span class="code-keyword">public</span>/** = anon
+    /stuff/allowed/** = authcBasic, perms[<span class="code-quote">"yes"</span>]
+    /stuff/forbidden/** = authcBasic, perms[<span class="code-quote">"no"</span>]
+    /** = authcBasic
+</pre>
+</div></div>
+
+<p>In shiro-guice, the filter names are Guice keys.  All of the default Shiro filters are available as constants, but you are not limited to those.  In order to use a custom filter in a filter chain, you would do </p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    Key customFilter = Key.get(MyCustomFilter.class);
+
+    addFilterChain(<span class="code-quote">"/custom/**"</span>, customFilter);
+</pre>
+</div></div>
+
+<p>We still have to tell guice-servlets about our Shiro filter.  Since the <tt>ShiroWebModule</tt> is private, and guice-servlets does not give us a way to expose a filter mapping, we have to bind it manually. </p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    ShiroWebModule.guiceFilterModule()
+</pre>
+</div></div>
+
+<p>Or, from within an application module, </p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    ShiroWebModule.bindGuiceFilter(binder())
+</pre>
+</div></div>
+
+<h2><a name="Guice-Properties"></a>Properties</h2>
+
+<p>A number of Shiro classes expose configuration parameters via setter methods. shiro-guice will inject these if it finds a binding for <tt>@Named("shiro.{propName}")</tt>.  For instance, to set the session timeout, you could do the following. </p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    bindConstant().annotatedWith(Names.named(<span class="code-quote">"shiro.globalSessionTimeout"</span>)).to(30000L);
+</pre>
+</div></div>
+
+<p>If this paradigm doesn't work for you, you may also consider using a provider to instantiate the object and invoking the setters directly.</p>
+
+<h2><a name="Guice-InjectionofShiroObjects"></a>Injection of Shiro Objects</h2>
+
+<p>shiro-guice uses a Guice <tt>TypeListener</tt> to perform injection on native Shiro classes (any class in a subdirectory of <tt>org.apache.shiro</tt> but not <tt>org.apache.shiro.guice</tt>).  However, Guice only considers explicitly bound types as candidates for <tt>TypeListeners</tt>, so if you have a Shiro object that you want injected, you have to declare it explicitly.  For instance, to set the <tt>CredentialsMatcher</tt> for a realm, we would need to add the following bindings:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+    bind(CredentialsMatcher.class).to(HashedCredentialsMatcher.class);
+    bind(HashedCredentialsMatcher.class);
+    bindConstant().annotatedWith(Names.named(<span class="code-quote">"shiro.hashAlgorithmName"</span>)).to(Md5Hash.ALGORITHM_NAME);
+</pre>
+</div></div>
+
+<h2><a name="Guice-Lendahandwithdocumentation"></a>Lend a hand with documentation </h2>
+
+<p>While we hope this documentation helps you with the work you're doing with Apache Shiro, the community is improving and expanding the documentation all the time.  If you'd like to help the Shiro project, please consider corrected, expanding, or adding documentation where you see a need. Every little bit of help you provide expands the community and in turn improves Shiro. </p>
+
+<p>The easiest way to contribute your documentation is to send it to the <a class="external-link" href="http://shiro-user.582556.n2.nabble.com/" rel="nofollow">User Forum</a> or the <a href="mailing-lists.html" title="Mailing Lists">User Mailing List</a>.</p>
\ No newline at end of file

Added: shiro/site/trunk/guides.html
URL: http://svn.apache.org/viewvc/shiro/site/trunk/guides.html?rev=1481417&view=auto
==============================================================================
--- shiro/site/trunk/guides.html (added)
+++ shiro/site/trunk/guides.html Sat May 11 21:10:40 2013
@@ -0,0 +1,13 @@
+<h1><a name="Guides-ApacheShiroGuides"></a>Apache Shiro Guides</h1>
+
+<p>Here are some basic guides on how to use Shiro.</p>
+
+<p>Please post any errata to the user or dev mailing lists.</p>
+
+<ul><li><b><a href="10-minute-tutorial.html" title="10 Minute Tutorial">10 Minute Tutorial</a></b></li></ul>
+
+
+<ul><li><b><a href="java-authentication-guide.html" title="Java Authentication Guide">Authentication Guide</a></b></li></ul>
+
+
+<ul><li><b><a href="java-authorization-guide.html" title="Java Authorization Guide">Authorization Guide</a></b></li></ul>



Mime
View raw message