shiro-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bdem...@apache.org
Subject svn commit: r1765607 [4/6] - in /shiro/site/publish: ./ 2010/03/18/ 2010/06/01/ 2010/09/14/ 2010/09/20/ 2010/09/24/ 2010/11/03/ 2011/01/06/ 2011/01/13/ 2011/02/10/ 2011/02/28/ 2011/03/14/ 2011/05/24/ 2011/06/30/ 2012/01/24/ 2012/03/13/ 2012/07/29/ 2013...
Date Wed, 19 Oct 2016 14:24:59 GMT
Modified: shiro/site/publish/java-authorization-guide.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/java-authorization-guide.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/java-authorization-guide.html (original)
+++ shiro/site/publish/java-authorization-guide.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">
@@ -144,7 +146,29 @@ Authorization, or access control, is the
 
 <p>For more information on Users, aka Subjects, please check out the <a href="subject.html" title="Subject">Subject Documentation</a>.</p>
 
-<div class="panelMacro"><table class="infoMacro"><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/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Ultimately, your <a href="realm.html" title="Realm">Realm</a> implementation is what communicates with your data source (RDBMS, LDAP, etc). So your realm is what will tell Shiro whether or not roles or permissions exist. You have full control over how your authorization model works.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="infoMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+
+
+        <tbody>
+        <tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-info-circle"></i>
+            </td>
+
+            <td colspan="1" rowspan="1">
+                <b>Note</b>
+                <br clear="none">
+                Ultimately, your <a href="realm.html" title="Realm">Realm</a> implementation is what communicates with your data source (RDBMS, LDAP, etc). So your realm is what will tell Shiro whether or not roles or permissions exist. You have full control over how your authorization model works.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <h2><a name="JavaAuthorizationGuide-HowtoperformAuthorizationinJavawithShiro"></a>How to perform Authorization in Java with Shiro</h2>
 <p>Authorization in Shiro can be handled in four ways.</p>
@@ -158,7 +182,7 @@ Authorization, or access control, is the
 <h4><a name="JavaAuthorizationGuide-RoleCheck"></a>Role Check</h4>
 <p>This is an example of how you do a role check programmatically in your application.  We want to check if a user has the <em>administrator</em> role and if they do, then we'll show a special button, otherwise we won't show it.</p>
 
-<p>First we get access to the current user, the <a href="subject.html" title="Subject">Subject</a>. Then we pass the <em>adminstrator</em> to the Subject's <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/subject/Subject.html#hasRole(java.lang.String)">.hasRole()</a></tt> method.  It will return <tt>TRUE</tt> or <tt>FALSE</tt>.  </p>
+<p>First we get access to the current user, the <a href="subject.html" title="Subject">Subject</a>. Then we pass the <em>adminstrator</em> to the Subject's <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/subject/Subject.html\#hasRole(java.lang.String)">.hasRole()</a></tt> method.  It will return <tt>TRUE</tt> or <tt>FALSE</tt>.  </p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
 <pre class="code-java">
@@ -183,7 +207,7 @@ Authorization, or access control, is the
 <h4><a name="JavaAuthorizationGuide-PermissionCheck"></a>Permission Check</h4>
 <p>This is an example of how you do security checks by permission. We want to check if a user has permission to print to laserjet3000n and if they do, then we'll show a print button, otherwise we won't show it. This is an example of an instance level permission or instance level authorization.</p>
 
-<p>Again, first you get access to the current user, the <a href="subject.html" title="Subject">Subject</a>.  Then you construct a <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/authz/Permission.html">Permission</a></tt> object or an instance that represents an action on a resource. In this case, the instance is named <tt>printerPermission</tt>, the resource is <em>laserjet3000n</em>, and the action is <em>print</em>.   Then we pass <tt>printerPermission</tt> to the Subject's <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/subject/Subject.html#isPermitted(java.util.List)">.isPermitted()</a></tt> method.  It will return true or false.  </p>
+<p>Again, first you get access to the current user, the <a href="subject.html" title="Subject">Subject</a>.  Then you construct a <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/authz/Permission.html">Permission</a></tt> object or an instance that represents an action on a resource. In this case, the instance is named <tt>printerPermission</tt>, the resource is <em>laserjet3000n</em>, and the action is <em>print</em>.   Then we pass <tt>printerPermission</tt> to the Subject's <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/subject/Subject.html\#isPermitted(java.util.List)">.isPermitted()</a></tt> method.  It will return true or false.  </p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
 <pre class="code-java">

Modified: shiro/site/publish/java-cryptography-guide.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/java-cryptography-guide.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/java-cryptography-guide.html (original)
+++ shiro/site/publish/java-cryptography-guide.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">
@@ -131,9 +133,45 @@ Cryptography is the protecting of inform
 </div></div>
 
 <h2><a name="JavaCryptographyGuide-HashFeatures"></a>Hash Features</h2>
-<div class="panelMacro"><table class="tipMacro"><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/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Salts are important when hashing ...</td></tr></table></div>
+<div class="panelMacro">
+    <table class="tipMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody><tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-check-square-o"></i>
+            </td>
+            <td colspan="1" rowspan="1">
+                <b>Tip</b>
+                <br clear="none">
+                Salts are important when hashing ...
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
-<div class="panelMacro"><table class="tipMacro"><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/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Repeated hashes are important when hashing ...</td></tr></table></div>
+<div class="panelMacro">
+    <table class="tipMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody><tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-check-square-o"></i>
+            </td>
+            <td colspan="1" rowspan="1">
+                <b>Tip</b>
+                <br clear="none">
+                Repeated hashes are important when hashing ...
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <h3><a name="JavaCryptographyGuide-Shiro%27sHashInterface"></a>Shiro's Hash Interface</h3>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">

Modified: shiro/site/publish/jsp-tag-library.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/jsp-tag-library.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/jsp-tag-library.html (original)
+++ shiro/site/publish/jsp-tag-library.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/license.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/license.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/license.html (original)
+++ shiro/site/publish/license.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/mailing-lists.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/mailing-lists.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/mailing-lists.html (original)
+++ shiro/site/publish/mailing-lists.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/navigation.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/navigation.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/navigation.html (original)
+++ shiro/site/publish/navigation.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/news.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/news.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/news.html (original)
+++ shiro/site/publish/news.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/overview.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/overview.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/overview.html (original)
+++ shiro/site/publish/overview.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/performing-a-release.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/performing-a-release.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/performing-a-release.html (original)
+++ shiro/site/publish/performing-a-release.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">
@@ -71,104 +73,35 @@
 
         <div id="content">
 
-            <h2><a name="PerformingaRelease-CreatetheReleaseandVote"></a>Create the Release and Vote</h2>
+            <p>This page has been moved.  You are being redirected.</p>
 
-<ol><li>Ensure you are using JDK 1.6 (1.7 will not work) and Maven 3.0.3 (or later) for the following steps.</li><li>Run Apache RAT to ensure that we're Apache compliant:
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-&gt; mvn apache-rat:check
-</pre>
-</div></div>
-<p>Resolve any errors as necessary (usually amounts to placing the ASF license header at the top of files).</p></li><li>Execute the maven commands below to go through the release process.  If there are any errors that you can't resolve, contact the <tt>dev@shiro.apache.org</tt> mailing list.
-<div class="panelMacro"><table class="infoMacro"><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/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>GPG Installed</b><br clear="none">This release process requires the <tt>gpg</tt> binary to be in your command $PATH and your code signing key configured for your account.</td></tr></table></div>
-<p>Commands:</p>
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-&gt; mvn clean install -Pdocs,apache-release
-&gt; mvn release:prepare -DdryRun=<span class="code-keyword">true</span>
-&gt; mvn deploy -Pdocs
-&gt; mvn release:clean
-&gt; mvn release:prepare -Dusername=YOUR_ASF_USERNAME -Dpassword=YOUR_ASF_PASSWORD
-&gt; mvn release:perform -Dusername=YOUR_ASF_USERNAME -Dpassword=YOUR_ASF_PASSWORD
-</pre>
-</div></div></li><li>Log in to <a class="external-link" href="https://repository.apache.org">https://repository.apache.org</a>.  Navigate to "Staging Repositories" (on the left nav panel).  Find the repository starting with 'org.apache.shiro' and <tt>close</tt> it.</li><li>Send out the VOTE email to the <tt>dev@shiro.apache.org</tt> mailing list.  Here's a good template:
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-This is a call to vote in favor of releasing Apache Shiro version 1.2.0.
-
-The 59 issues solved <span class="code-keyword">for</span> 1.2.0:
-
-https:<span class="code-comment">//issues.apache.org/jira/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=project+%3D+SHIRO+AND+fixVersion+%3D+%221.2.0%22+AND+%28status+%21%3D+Open+and+status+%21%3D+%22In+Progress%22%29+ORDER+BY+priority+DESC&amp;runQuery=<span class="code-keyword">true</span>&amp;clear=<span class="code-keyword">true</span>
-</span>
-The tag to be voted upon:
-&lt;GIT_URL_OF_THE_RELEASE_TAG&gt; (e.g. https:<span class="code-comment">//github.com/apache/shiro/tree/1.2.0)
-</span>
-Staging repo <span class="code-keyword">for</span> binaries:
-&lt;URL_OF_THE_CLOSED_REPO_FROM_ABOVE_STEP&gt; (e.g. https:<span class="code-comment">//repository.apache.org/content/repositories/orgapacheshiro-92/)
-</span>
-Project website (just <span class="code-keyword">for</span> informational purposes, not to be voted upon):
-http:<span class="code-comment">//shiro.apache.org/
-</span>and maven <span class="code-keyword">static</span> generated site (<span class="code-keyword">for</span> informational purposes, not to be voted upon):
-people.apache.org:/www/shiro.apache.org/<span class="code-keyword">static</span>/1.2.0 or http:<span class="code-comment">//shiro.apache.org/<span class="code-keyword">static</span>/1.2.0 (once it propagates to web servers)
-</span>
-Guide to testing staged releases:
-http:<span class="code-comment">//maven.apache.org/guides/development/guide-testing-releases.html
-</span>
-Vote open <span class="code-keyword">for</span> 72 hours. Please <span class="code-keyword">do</span> examine the source and binaries before voting.
-
-[ ] +1
-[ ] +0
-[ ] -1 (please include reasoning)
-</pre>
-</div></div></li></ol>
-
-
-<h2><a name="PerformingaRelease-AfteraSuccessfulVote"></a>After a Successful Vote</h2>
-
-<ol><li>Update the <a class="external-link" href="https://github.com/apache/shiro/blob/master/shiro.doap.rdf">Shiro DOAP file in git</a> to include another release information chunk (<em>after</em> the other similar chunks):
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;release&gt;</span>
-    <span class="code-tag">&lt;Version&gt;</span>
-        <span class="code-tag">&lt;name&gt;</span>Apache Shiro VERSION<span class="code-tag">&lt;/name&gt;</span>
-        <span class="code-tag">&lt;created&gt;</span>RELEASE_DATE<span class="code-tag">&lt;/created&gt;</span>
-        <span class="code-tag">&lt;revision&gt;</span>VERSION<span class="code-tag">&lt;/revision&gt;</span>
-    <span class="code-tag">&lt;/Version&gt;</span>
-<span class="code-tag">&lt;/release&gt;</span>
-</pre>
-</div></div>
-<p><br clear="none" class="atl-forced-newline">
-With the appropriate <tt>RELEASE_DATE</tt> (e.g. 2011-10-01) and <tt>VERSION</tt> (e.g. 1.1.0).  Save and commit the file to Git.
-<br clear="none" class="atl-forced-newline">
-<br clear="none" class="atl-forced-newline"></p></li><li>Put the distribution on the ASF web servers
-	<ol><li>SSH into people.apache.org and &#65279;cd&#160;to to Shiro's distribution location:
-<br clear="none" class="atl-forced-newline">
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">cd /www/www.apache.org/dist/shiro</pre>
-</div></div></li><li>Create a subdirectory for the specific version number released:
-<br clear="none" class="atl-forced-newline">
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">mkdir 1.2.1</pre>
-</div></div></li><li>Acquire the source release .zip and it's verifying files (.md5, .sha1, .asc, .asc.md5, .asc.sha1) from <a class="external-link" href="https://repository.apache.org">https://repository.apache.org</a>
-<br clear="none" class="atl-forced-newline">
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/&lt;version&gt;/shiro-root-&lt;version&gt;-source-release.zip
-</span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/&lt;version&gt;/shiro-root-&lt;version&gt;-source-release.zip.md5
-</span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/&lt;version&gt;/shiro-root-&lt;version&gt;-source-release.zip.sha1
-</span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/&lt;version&gt;/shiro-root-&lt;version&gt;-source-release.zip.asc
-</span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/&lt;version&gt;/shiro-root-&lt;version&gt;-source-release.zip.asc.md5
-</span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/&lt;version&gt;/shiro-root-&lt;version&gt;-source-release.zip.asc.sha1</span></pre>
-</div></div></li></ol>
-	</li><li>Update the Shiro wiki's &#65279;<a href="download.html" title="Download">Download</a>&#160;page to include a new entry for 1.2.1</li><li>Update the Shiro wiki's&#160;&#65279;<a href="index.html" title="Index">Index</a>&#160;page and update the download 'block'. &#160;This must be done via the Wiki Markup View so JavaScript can be edited.</li><li>Make an announcement as a Shiro blog article.  You can look at <a class="external-link" href="2012/01/24/apache-shiro-120-released.html">a previous announcement</a> as an example.</li><li>Make the same announcement on the Shiro user list (subject:&#160;[ANNOUNCE] Apache Shiro &lt;version&gt; released) and CC the developer list.</li><li>Update the <a class="external-link" href="http://en.wikipedia.org/wiki/Apache_Shiro" rel="nofollow">Apache Shiro Wikipedia page</a> to reflect the latest release information.</li><li>Update the 'current' symbolic link on people.apache.org to reference the latest static site documentation.  For exampl
 e (replace <b>1.2.1</b> with the latest version):
-<br clear="none" class="atl-forced-newline">
-<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-$ ssh people.apache.org
-$ cd /www/apache.shiro.org/<span class="code-keyword">static</span>
-$ rm current
-$ ln -s 1.2.1 current 
-</pre>
-</div></div></li></ol>
+<div class="panelMacro">
+    <table class="noteMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody>
+        <tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-warning"></i>
+            </td>
+
+            <td colspan="1" rowspan="1">
+                <b>Redirection Notice</b>
+                <br clear="none">
+                This page should redirect to <a href="https://cwiki.apache.org/confluence/display/SHIRO/Performing+a+Release" title="https://cwiki.apache.org/confluence/display/SHIRO/Performing+a+Release">https://cwiki.apache.org/confluence/display/SHIRO/Performing+a+Release</a>.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
+
+<script type="text/javascript">
+    <!--
+    window.location = "https://cwiki.apache.org/confluence/display/SHIRO/Performing+a+Release"
+    //-->
+</script>
 
 
         </div>

Modified: shiro/site/publish/permissions.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/permissions.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/permissions.html (original)
+++ shiro/site/publish/permissions.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/powered-by-shiro.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/powered-by-shiro.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/powered-by-shiro.html (original)
+++ shiro/site/publish/powered-by-shiro.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/privacy-policy.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/privacy-policy.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/privacy-policy.html (original)
+++ shiro/site/publish/privacy-policy.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/quickstart.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/quickstart.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/quickstart.html (original)
+++ shiro/site/publish/quickstart.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">
@@ -73,7 +75,34 @@
 
             <p>This page has been moved.  You are being redirected.</p>
 
-<p></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>Redirection Notice</b><br clear="none">This page should redirect to <a href="10-minute-tutorial.html" title="10 Minute Tutorial">10 Minute Tutorial</a>.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="noteMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody>
+        <tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-warning"></i>
+            </td>
+
+            <td colspan="1" rowspan="1">
+                <b>Redirection Notice</b>
+                <br clear="none">
+                This page should redirect to <a href="10-minute-tutorial.html" title="10 Minute Tutorial">10 Minute Tutorial</a>.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
+
+<script type="text/javascript">
+    <!--
+    window.location = "10-minute-tutorial.html"
+    //-->
+</script>
+
 
         </div>
 

Modified: shiro/site/publish/realm.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/realm.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/realm.html (original)
+++ shiro/site/publish/realm.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">
@@ -80,7 +82,25 @@
 
 <p>Realms usually have a 1-to-1 correlation with a data source such as a relational database, LDAP directory, file system, or other similar resource.  As such, implementations of the <tt>Realm</tt> interface use data source-specific APIs to discover authorization data (roles, permissions, etc), such as JDBC, File IO, Hibernate or JPA, or any other Data Access API.  </p>
 
-<div class="panelMacro"><table class="tipMacro"><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/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">A Realm is essentially a security-specific <a class="external-link" href="http://en.wikipedia.org/wiki/Data_Access_Object" rel="nofollow">DAO</a></td></tr></table></div>
+<div class="panelMacro">
+    <table class="tipMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody><tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-check-square-o"></i>
+            </td>
+            <td colspan="1" rowspan="1">
+                <b>Tip</b>
+                <br clear="none">
+                A Realm is essentially a security-specific <a class="external-link" href="http://en.wikipedia.org/wiki/Data_Access_Object" rel="nofollow">DAO</a>
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <p>Because most of these data sources usually store both authentication data (credentials such as passwords) as well as authorization data (such as roles or permissions), every Shiro <tt>Realm</tt> can perform <em>both</em> authentication and authorization operations.</p>
 
@@ -104,11 +124,31 @@ securityManager.realms = $fooRealm, $bar
 </pre>
 </div></div>
 
-<p>Explicit assignment is deterministic - you control exactly which realms are used as well as <em>the order</em> that they will be used for authentication and authorization. Realm ordering effects are described in detail in the Authentication chapter's <a href="authentication.html#Authentication-sequence">Authentication Sequence</a> section. </p>
+<p>Explicit assignment is deterministic - you control exactly which realms are used as well as <em>the order</em> that they will be used for authentication and authorization. Realm ordering effects are described in detail in the Authentication chapter's <a href="authentication.html\#Authentication-sequence">Authentication Sequence</a> section. </p>
 
 <h3><a name="Realm-ImplicitAssignment"></a>Implicit Assignment</h3>
 
-<div class="panelMacro"><table class="warningMacro"><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/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Not Preferred</b><br clear="none">Implicit assignment can cause unexpected behavior if you change the order in which realms are defined.  It is recommended that you avoid this approach and use Explicit Assignment, which has deterministic behavior.  It is likely Implicit Assignment will be deprecated/removed from a future Shiro release.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="warningMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody>
+        <tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-exclamation-circle"></i>
+            </td>
+
+            <td colspan="1" rowspan="1">
+                <b>Not Preferred</b>
+                <br clear="none">
+                Implicit assignment can cause unexpected behavior if you change the order in which realms are defined.  It is recommended that you avoid this approach and use Explicit Assignment, which has deterministic behavior.  It is likely Implicit Assignment will be deprecated/removed from a future Shiro release.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <p>If for some reason you don't want to explicitly configure the <tt>securityManager.realms</tt> property, you can allow Shiro to detect all configured realms and assign them to the <tt>securityManager</tt> directly.</p>
 
@@ -134,23 +174,23 @@ securityManager.realms = $blahRealm, $fo
 </pre>
 </div></div>
 
-<p>However, realize that with implicit assignment, just the order that the realms are defined directly affects how they are consulted during authentication and authorization attempts.  If you change their definition order, you will change how the master <tt>Authenticator</tt>'s <a href="authentication.html#Authentication-sequence">Authentication Sequence</a> functions.</p>
+<p>However, realize that with implicit assignment, just the order that the realms are defined directly affects how they are consulted during authentication and authorization attempts.  If you change their definition order, you will change how the master <tt>Authenticator</tt>'s <a href="authentication.html\#Authentication-sequence">Authentication Sequence</a> functions.</p>
 
 <p>For this reason, and to ensure deterministic behavior, we recommend using Explicit Assignment instead of Implicit Assignment. <br clear="none">
 <a name="Realm-authentication"></a></p>
 <h2><a name="Realm-RealmAuthentication"></a>Realm Authentication</h2>
 
-<p>Once you understand Shiro's master <a href="authentication.html#Authentication-sequence">Authentication workflow</a>, it is important to know exactly what happens when the <tt>Authenticator</tt> interacts with a <tt>Realm</tt> during an authentication attempt.</p>
+<p>Once you understand Shiro's master <a href="authentication.html\#Authentication-sequence">Authentication workflow</a>, it is important to know exactly what happens when the <tt>Authenticator</tt> interacts with a <tt>Realm</tt> during an authentication attempt.</p>
 
 <h3><a name="Realm-Supporting%7B%7BAuthenticationTokens%7D%7D"></a>Supporting <tt>AuthenticationTokens</tt></h3>
 
-<p>As mentioned in the <a href="authentication.html#Authentication-sequence">authentication sequence</a>, just before a <tt>Realm</tt> is consulted to perform an authentication attempt, its <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/realm/Realm.html#supports(org.apache.shiro.authc.AuthenticationToken)">supports</a></tt> method is called.  If the return value is <tt>true</tt>, only then will its <tt>getAuthenticationInfo(token)</tt> method be invoked.</p>
+<p>As mentioned in the <a href="authentication.html\#Authentication-sequence">authentication sequence</a>, just before a <tt>Realm</tt> is consulted to perform an authentication attempt, its <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/realm/Realm.html\#supports(org.apache.shiro.authc.AuthenticationToken)">supports</a></tt> method is called.  If the return value is <tt>true</tt>, only then will its <tt>getAuthenticationInfo(token)</tt> method be invoked.</p>
 
 <p>Typically a realm will check the type (interface or class) of the submitted token to see if it can process it.  For example, a Realm that processes biometric data may not understand <tt>UsernamePasswordTokens</tt> at all, in which case it would return <tt>false</tt> from the <tt>supports</tt> method.</p>
 
 <h3><a name="Realm-Handlingsupported%7B%7BAuthenticationTokens%7D%7D"></a>Handling supported <tt>AuthenticationTokens</tt></h3>
 
-<p>If a <tt>Realm</tt> <tt>supports</tt> a submitted <tt>AuthenticationToken</tt>, the <tt>Authenticator</tt> will call the Realm's  <a class="external-link" href="static/current/apidocs/org/apache/shiro/realm/Realm.html#getAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationInfo(token)</a> method.  This effectively represents an authentication attempt with the <tt>Realm's</tt> backing data source.  The method, in order:</p>
+<p>If a <tt>Realm</tt> <tt>supports</tt> a submitted <tt>AuthenticationToken</tt>, the <tt>Authenticator</tt> will call the Realm's  <a class="external-link" href="static/current/apidocs/org/apache/shiro/realm/Realm.html\#getAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationInfo(token)</a> method.  This effectively represents an authentication attempt with the <tt>Realm's</tt> backing data source.  The method, in order:</p>
 
 <ol><li>Inspects the <tt>token</tt> for the identifying principal (account identifying information)</li><li>Based on the <tt>principal</tt>, looks up corresponding account data in the data source</li><li>Ensures that the token's supplied <tt>credentials</tt> matches those stored in the data store</li><li>If the credentials match, an <a class="external-link" href="static/current/apidocs/org/apache/shiro/authc/AuthenticationInfo.html">AuthenticationInfo</a> instance is returned that encapsulates the account data in a format Shiro understands</li><li>If the credentials DO NOT match, an <a class="external-link" href="static/current/apidocs/org/apache/shiro/authc/AuthenticationException.html">AuthenticationException</a> is thrown</li></ol>
 
@@ -159,13 +199,55 @@ securityManager.realms = $blahRealm, $fo
 
 <p>The only thing required is that, if the credentials match for the given principal(s), that a non-null <tt>AuthenticationInfo</tt> instance is returned that represents Subject account information from that data source.</p>
 
-<div class="panelMacro"><table class="infoMacro"><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/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Save Time</b><br clear="none">Implementing <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/realm/Realm.html">Realm</a></tt> interface directly might be time consuming and error prone.  Most people choose to subclass the <a class="external-link" href="static/current/apidocs/org/apache/shiro/realm/AuthorizingRealm.html">AuthorizingRealm</a> abstract class instead of starting from scratch.  This class implements common authentication and authorization workflow to save you time and effort.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="infoMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+
+
+        <tbody>
+        <tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-info-circle"></i>
+            </td>
+
+            <td colspan="1" rowspan="1">
+                <b>Save Time</b>
+                <br clear="none">
+                Implementing <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/realm/Realm.html">Realm</a></tt> interface directly might be time consuming and error prone.  Most people choose to subclass the <a class="external-link" href="static/current/apidocs/org/apache/shiro/realm/AuthorizingRealm.html">AuthorizingRealm</a> abstract class instead of starting from scratch.  This class implements common authentication and authorization workflow to save you time and effort.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <h3><a name="Realm-CredentialsMatching"></a>Credentials Matching</h3>
 
 <p>In the above realm authentication workflow, a Realm has to verify that the <a href="subject.html" title="Subject">Subject</a>'s submitted credentials (e.g. password) must match the credentials stored in the data store.  If they match, authentication is considered successful, and the system has verified the end-user's identity.</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>Realm Credentials Matching</b><br clear="none">It is each Realm's responsibility to match submitted credentials with those stored in the Realm's backing data store, and not the <tt>Authenticator's</tt> responsibility.  Each <tt>Realm</tt> has intimate knowledge of credentials format and storage and can perform detailed credentials matching, whereas the <tt>Authenticator</tt> is a generic workflow component.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="noteMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody>
+        <tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-warning"></i>
+            </td>
+
+            <td colspan="1" rowspan="1">
+                <b>Realm Credentials Matching</b>
+                <br clear="none">
+                It is each Realm's responsibility to match submitted credentials with those stored in the Realm's backing data store, and not the <tt>Authenticator's</tt> responsibility.  Each <tt>Realm</tt> has intimate knowledge of credentials format and storage and can perform detailed credentials matching, whereas the <tt>Authenticator</tt> is a generic workflow component.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <p>The credentials matching process is nearly identical in all applications and usually only differs by the data compared.  To ensure this process is pluggable and customizable if necessary, the <a class="external-link" href="static/current/apidocs/org/apache/shiro/realm/AuthenticatingRealm.html">AuthenticatingRealm</a> and its subclasses support the concept of a <a class="external-link" href="static/current/apidocs/org/apache/shiro/authc/credential/CredentialsMatcher.html">CredentialsMatcher</a> to perform the credentials comparison.</p>
 

Modified: shiro/site/publish/reference.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/reference.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/reference.html (original)
+++ shiro/site/publish/reference.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/securitymanager.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/securitymanager.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/securitymanager.html (original)
+++ shiro/site/publish/securitymanager.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">
@@ -113,7 +115,25 @@
 
 <p>The <tt>SecurityManager</tt> implementations and are also JavaBeans compatible, which allows you (or a configuration mechanism) to easily customize the pluggable components via standard JavaBeans accessor/mutator methods (get*/set*).  This means the Shiro's architectural modularity can translate into very easy configuration for custom behavior.</p>
 
-<div class="panelMacro"><table class="tipMacro"><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/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Easy Configuration</b><br clear="none">Because of JavaBeans compatibility, it is very easy to configure the <tt>SecurityManager</tt> with custom components via any mechanism that supports JavaBeans-style configuration, such as <a href="spring.html" title="Spring">Spring</a>, Guice, JBoss, etc.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="tipMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody><tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-check-square-o"></i>
+            </td>
+            <td colspan="1" rowspan="1">
+                <b>Easy Configuration</b>
+                <br clear="none">
+                Because of JavaBeans compatibility, it is very easy to configure the <tt>SecurityManager</tt> with custom components via any mechanism that supports JavaBeans-style configuration, such as <a href="spring.html" title="Spring">Spring</a>, Guice, JBoss, etc.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <h3><a name="SecurityManager-ProgrammaticConfiguration"></a>Programmatic Configuration</h3>
 

Modified: shiro/site/publish/session-management-features.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/session-management-features.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/session-management-features.html (original)
+++ shiro/site/publish/session-management-features.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/session-management.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/session-management.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/session-management.html (original)
+++ shiro/site/publish/session-management.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">
@@ -157,7 +159,7 @@ session.setAttribute( <span class="code-
 <ul><li>If the <tt>Subject</tt> already has a <tt>Session</tt>, the boolean argument is ignored and the <tt>Session</tt> is returned immediately</li><li>If the <tt>Subject</tt> does not yet have a <tt>Session</tt> and the <tt>create</tt> boolean argument is <tt>true</tt>, a new session will be created and returned.</li><li>If the <tt>Subject</tt> does not yet have a <tt>Session</tt> and the <tt>create</tt> boolean argument is <tt>false</tt>, a new session will not be created and <tt>null</tt> is returned.</li></ul>
 
 
-<div class="panelMacro"><table class="tipMacro"><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/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Any Application</b><br clear="none"><tt>getSession</tt> calls work in any application, even non-web applications.</td></tr></table></div>
+#tip('Any Application', '<tt>getSession</tt> calls work in any application, even non-web applications.')
 
 <p><tt>subject.getSession(false)</tt> can be used to good effect when developing framework code to ensure a Session isn't created unnecessarily.</p>
 
@@ -169,7 +171,7 @@ session.setAttribute( <span class="code-
 
 <p>The default <tt>SecurityManager</tt> implementation defaults to using a <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/mgt/DefaultSecurityManager.html">DefaultSessionManager</a></tt> out of the box.  The <tt>DefaultSessionManager</tt> implementation provides all of the enterprise-grade session management features needed for an application, like Session validation, orphan cleanup, etc.  This can be used in any application.</p>
 
-<div class="panelMacro"><table class="infoMacro"><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/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Web Applications</b><br clear="none">Web applications use different <tt>SessionManager</tt> implementations.  Please see the <a href="web.html" title="Web">Web</a> documentation for web-specific Session Management information.</td></tr></table></div>
+#info('Web Applications', 'Web applications use different <tt>SessionManager</tt> implementations.  Please see the <a href="web.html" title="Web">Web</a> documentation for web-specific Session Management information.')
 
 <p>Like all other components managed by the <tt>SecurityManager</tt>, the <tt>SessionManager</tt> can be acquired or set via JavaBeans-style getter/setter methods on all of Shiro's default <tt>SecurityManager</tt> implementations (<tt>getSessionManager()</tt>/<tt>setSessionManager()</tt>).  Or for example, if using <tt>shiro.ini</tt> <a href="configuration.html" title="Configuration">Configuration</a>:</p>
 
@@ -222,7 +224,7 @@ securityManager.sessionManager.sessionLi
 </pre>
 </div></div>
 
-<div class="panelMacro"><table class="infoMacro"><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/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>All Session Events</b><br clear="none"><tt>SessionListeners</tt> are notified when an event occurs for <em>any</em> session - not just for a particular session.</td></tr></table></div>
+#info('All Session Events', '<tt>SessionListeners</tt> are notified when an event occurs for <em>any</em> session - not just for a particular session.')
 
 <p><a name="SessionManagement-sessionstorage"></a></p>
 <h3><a name="SessionManagement-SessionStorage"></a>Session Storage</h3>
@@ -245,7 +247,7 @@ securityManager.sessionManager.sessionDA
 
 <p>However, as you might expect, Shiro already has some good <tt>SessionDAO</tt> implementations that you can use out of the box or subclass for your own needs.<br clear="none">
 <a name="SessionManagement-websessionmanagersessiondao"></a></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>Web Applications</b><br clear="none">The above <tt>securityManager.sessionManager.sessionDAO = $sessionDAO</tt> assignment only works when using a Shiro native session manager.  Web applications by default do not use a native session manager and instead retain the Servlet Container's default session manager which does not support a SessionDAO.  If you would like to enable a SessionDAO in a web-based application for custom session storage or session clustering, you will have to first configure a native web session manager.  For example:
+#warning('Web Applications', 'The above <tt>securityManager.sessionManager.sessionDAO = $sessionDAO</tt> assignment only works when using a Shiro native session manager.  Web applications by default do not use a native session manager and instead retain the Servlet Container's default session manager which does not support a SessionDAO.  If you would like to enable a SessionDAO in a web-based application for custom session storage or session clustering, you will have to first configure a native web session manager.  For example:
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
 <pre class="code-java">
@@ -257,19 +259,18 @@ securityManager.sessionManager = $sessio
 # Configure a SessionDAO and then set it:
 securityManager.sessionManager.sessionDAO = $sessionDAO
 </pre>
-</div></div></td></tr></table></div>
-
-<div class="panelMacro"><table class="warningMacro"><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/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Configure a SessionDAO!</b><br clear="none">Shiro's default configuration native SessionManagers use <b><em>in-memory-only</em></b> Session storage.  This is unsuitable for most production applications.  Most production applications will want to either configure the provided EHCache support (see below) or provide their own <tt>SessionDAO</tt> implementation.  
+</div></div>')
 
-<p>Note that web applications use a servlet-container-based SessionManager by default and do not have this issue.  This is only an issue when using a Shiro native SessionManager.</p></td></tr></table></div>
+#danger('Configure a SessionDAO!', 'Shiro''s default configuration native SessionManagers use <b><em>in-memory-only</em></b> Session storage.  This is unsuitable for most production applications.  Most production applications will want to either configure the provided EHCache support (see below) or provide their own <tt>SessionDAO</tt> implementation.
+<p>Note that web applications use a servlet-container-based SessionManager by default and do not have this issue.  This is only an issue when using a Shiro native SessionManager.</p>')
 
 <p><a name="SessionManagement-ehcachesessiondao"></a></p>
 <h4><a name="SessionManagement-EHCacheSessionDAO"></a>EHCache SessionDAO</h4>
 
 <p>EHCache is not enabled by default, but if you do not plan on implementing your own <tt>SessionDAO</tt>, it is <b>highly</b> recommended that you enable the EHCache support for Shiro's SessionManagement.  The EHCache SessionDAO will store sessions in memory and support overflow to disk if memory becomes constrained.  This is highly desirable for production applications to ensure that you don't randomly 'lose' sessions at runtime.</p>
 
-<div class="panelMacro"><table class="tipMacro"><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/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Use EHCache as your default</b><br clear="none">If you're not writing a custom <tt>SessionDAO</tt>, definitely enable EHCache in your Shiro configuration.  EHCache can also be beneficial beyond Sessions, caching authentication and authorization data as well.  See the <a href="caching.html" title="Caching">Caching</a> documentation for more information.</td></tr></table></div>
-<div class="panelMacro"><table class="tipMacro"><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/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Container-Independent Session Clustering</b><br clear="none">EHCache is also a nice choice if you quickly need container-independent session clustering. You can transparently plug in <a class="external-link" href="http://www.terracotta.org/" rel="nofollow">TerraCotta</a> behind EHCache and have a container-independent clustered session cache.  No more worrying about Tomcat, JBoss, Jetty, WebSphere or WebLogic specific session clustering ever again!</td></tr></table></div>
+#tip('Use EHCache as your default', 'If you're not writing a custom <tt>SessionDAO</tt>, definitely enable EHCache in your Shiro configuration.  EHCache can also be beneficial beyond Sessions, caching authentication and authorization data as well.  See the <a href="caching.html" title="Caching">Caching</a> documentation for more information.')
+#tip('Container-Independent Session Clustering', 'EHCache is also a nice choice if you quickly need container-independent session clustering. You can transparently plug in <a class="external-link" href="http://www.terracotta.org/" rel="nofollow">TerraCotta</a> behind EHCache and have a container-independent clustered session cache.  No more worrying about Tomcat, JBoss, Jetty, WebSphere or WebLogic specific session clustering ever again!')
 <p>Enabling EHCache for sessions is very easy.  First, ensure that you have the <tt>shiro-ehcache-&lt;version&gt;.jar</tt> file in your classpath (see the <a href="download.html" title="Download">Download</a> page or use Maven or Ant+Ivy). </p>
 
 <p>Once in the classpath, this first <tt>shiro.ini</tt> example shows you how to use EHCache for all of Shiro's caching needs (not just Session support):</p>
@@ -291,7 +292,7 @@ securityManager.cacheManager = $cacheMan
 
 <p>Then, when the <tt>SessionManager</tt> asks the <tt>EnterpriseCacheSessionDAO</tt> to persist a <tt>Session</tt>, it will use an EHCache-backed <tt><a class="external-link" href="static/current/apidocs/org/apache/shiro/cache/Cache.html">Cache</a></tt> implementation to store the Session data.</p>
 
-<div class="panelMacro"><table class="infoMacro"><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/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Web Applications</b><br clear="none">Don't forget that assigning a <tt>SessionDAO</tt> is a feature when using Shiro native SessionManager implementations.  Web applications by default use a Servlet container-based SessionManager which does not support a <tt>SessionDAO</tt>.  Configure a native web SessionManager as <a href="#SessionManagement-websessionmanagersessiondao">explained above</a> if you want to use Ehcache-based session storage in a web application.</td></tr></table></div>
+#info('Web Applications', 'Don't forget that assigning a <tt>SessionDAO</tt> is a feature when using Shiro native SessionManager implementations.  Web applications by default use a Servlet container-based SessionManager which does not support a <tt>SessionDAO</tt>.  Configure a native web SessionManager as <a href="#SessionManagement-websessionmanagersessiondao">explained above</a> if you want to use Ehcache-based session storage in a web application.')
 
 <p><a name="SessionManagement-ehcachesessioncacheconfiguration"></a></p>
 <h5><a name="SessionManagement-EHCacheSessionCacheConfiguration"></a>EHCache Session Cache Configuration</h5>
@@ -415,7 +416,7 @@ securityManager.sessionManager.sessionVa
 
 <p>Sessions will still be validated when they are retrieved from the session data store, but this will disable Shiro's periodic validation.</p>
 
-<div class="panelMacro"><table class="warningMacro"><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/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Enable Session Validation <em>somewhere</em></b><br clear="none">If you turn off Shiro's session validation scheduler, you <em>MUST</em> perform periodic session validation via some other mechanism (cron job, etc.).  This is the only way to guarantee Session orphans do not fill up the data store.</td></tr></table></div>
+#danger('Enable Session Validation <em>somewhere</em>', 'If you turn off Shiro's session validation scheduler, you <em>MUST</em> perform periodic session validation via some other mechanism (cron job, etc.).  This is the only way to guarantee Session orphans do not fill up the data store.')
 
 <h4><a name="SessionManagement-InvalidSessionDeletion"></a>Invalid Session Deletion</h4>
 
@@ -457,10 +458,10 @@ securityManager.sessionManager.deleteInv
 
 <p>This gives you the flexibility of choosing the exact clustering mechanism that is suitable for <em>your</em> environment.</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>Cache Memory</b><br clear="none">Note that when enabling a distributed/enterprise cache to be your session clustering data store, one of the following two cases must be true:
+#warning('Cache Memory', 'Note that when enabling a distributed/enterprise cache to be your session clustering data store, one of the following two cases must be true:
 <ul><li>The distributed cache has enough cluster-wide memory to retain <em>all</em> active/current sessions</li><li>If the distributed cache does not have enough cluster-wide memory to retain all active sessions, it must support disk overflow so sessions are not lost.<br clear="none">
 Failure for the cache to support either of the two cases will result in sessions being randomly lost, which would likely be frustrating to end-users.</li></ul>
-</td></tr></table></div>
+')
 
 <h3><a name="SessionManagement-%7B%7BEnterpriseCacheSessionDAO%7D%7D"></a><tt>EnterpriseCacheSessionDAO</tt></h3>
 
@@ -626,7 +627,7 @@ securityManager.subjectDAO.sessionStorag
 
 <p>This will prevent Shiro from using a Subject's session to store that Subject's state across requests/invocations/messages <em>for all Subjects</em>.  Just be sure that you authenticate on every request so Shiro will know who the Subject is for any given request/invocation/message.</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's Needs vs. Your Needs</b><br clear="none">This will disable Shiro's own implementations from using Sessions as a storage strategy.  It <b>DOES NOT</b> disable Sessions entirely.  A session will still be created if any of your own code explicitly calls <tt>subject.getSession()</tt> or <tt>subject.getSession(true)</tt>.</td></tr></table></div>
+#warning('Shiro's Needs vs. Your Needs', 'This will disable Shiro's own implementations from using Sessions as a storage strategy.  It <b>DOES NOT</b> disable Sessions entirely.  A session will still be created if any of your own code explicitly calls <tt>subject.getSession()</tt> or <tt>subject.getSession(true)</tt>.')
 
 <h3><a name="SessionManagement-AHybridApproach"></a>A Hybrid Approach</h3>
 

Modified: shiro/site/publish/sessionmanager.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/sessionmanager.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/sessionmanager.html (original)
+++ shiro/site/publish/sessionmanager.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/sharing-block-small.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/sharing-block-small.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/sharing-block-small.html (original)
+++ shiro/site/publish/sharing-block-small.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/sharing-block.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/sharing-block.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/sharing-block.html (original)
+++ shiro/site/publish/sharing-block.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/site.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/site.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/site.html (original)
+++ shiro/site/publish/site.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/siteheader.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/siteheader.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/siteheader.html (original)
+++ shiro/site/publish/siteheader.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/spring.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/spring.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/spring.html (original)
+++ shiro/site/publish/spring.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">

Modified: shiro/site/publish/subject.html
URL: http://svn.apache.org/viewvc/shiro/site/publish/subject.html?rev=1765607&r1=1765606&r2=1765607&view=diff
==============================================================================
--- shiro/site/publish/subject.html (original)
+++ shiro/site/publish/subject.html Wed Oct 19 14:24:58 2016
@@ -15,6 +15,7 @@
    limitations under the License.
 -->
 <html>
+
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta name="description" content="Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.">
@@ -29,6 +30,7 @@
 
 
     <link rel="icon" type="image/vnd.microsoft.icon" href="./assets/images/favicon.ico">
+    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
 
     <link rel="stylesheet" type="text/css" href="./assets/css/normalize.css">
     <link rel="stylesheet" type="text/css" href="./assets/css/confluence.css" media="screen">
@@ -220,8 +222,27 @@ currentUser.logout(); <span class="code-
 
 <p>A new feature added in Shiro 1.0 is the ability to construct custom/ad-hoc subject instances for use in special situations.</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>Special Use Only!</b><br clear="none">You should almost always acquire the currently executing Subject by calling <tt>SecurityUtils.getSubject();</tt><br clear="none">
-Creating custom <tt>Subject</tt> instances should only be done in special cases.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="noteMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody>
+        <tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-warning"></i>
+            </td>
+
+            <td colspan="1" rowspan="1">
+                <b>Special Use Only!</b>
+                <br clear="none">
+                You should almost always acquire the currently executing Subject by calling <tt>SecurityUtils.getSubject();</tt><br clear="none">Creating custom <tt>Subject</tt> instances should only be done in special cases.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <p>Some 'special cases' when this can be useful:</p>
 
@@ -235,7 +256,25 @@ This practice is encouraged because it e
 <br clear="none" class="atl-forced-newline"></li><li>Daemon/background process work - when a daemon or background process executes, it might need to execute as a particular user.</li></ul>
 
 
-<div class="panelMacro"><table class="tipMacro"><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/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">If you already have access to a <tt>Subject</tt> instance and want it to be available to other threads, you should use the <tt>Subject.associateWith</tt>* methods instead of creating a new Subject instance.</td></tr></table></div> 
+<div class="panelMacro">
+    <table class="tipMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody><tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-check-square-o"></i>
+            </td>
+            <td colspan="1" rowspan="1">
+                <b>Tip</b>
+                <br clear="none">
+                If you already have access to a <tt>Subject</tt> instance and want it to be available to other threads, you should use the <tt>Subject.associateWith</tt>* methods instead of creating a new Subject instance.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <p>Ok, so assuming you still need to create custom subject instances, let's see how to do it:</p>
 
@@ -365,7 +404,27 @@ Subject subject = builder.buildSubject()
 
 <p>While the <tt>Subject.execute</tt>* methods automatically clean up the thread state after they return, there might be some scenarios where you want to manage the <tt>ThreadState</tt> yourself.  This is almost always done in framework-level development when integrating w/ Shiro and is rarely used even in bootstrap/daemon scenarios (where the <tt>Subject.execute(callable)</tt> example above is more frequent).</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>Guarantee Cleanup</b><br clear="none">The most important thing about this mechanism is that you must <em>always</em> guarantee the current thread is cleaned up after logic is executed to ensure there is no thread state corruption in a reusable or pooled thread environment.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="noteMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody>
+        <tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-warning"></i>
+            </td>
+
+            <td colspan="1" rowspan="1">
+                <b>Guarantee Cleanup</b>
+                <br clear="none">
+                The most important thing about this mechanism is that you must <em>always</em> guarantee the current thread is cleaned up after logic is executed to ensure there is no thread state corruption in a reusable or pooled thread environment.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <p>Guaranteeing cleanup is best done in a <tt>try/finally</tt> block:</p>
 
@@ -386,7 +445,27 @@ threadState.bind();
 
 <p>Interestingly enough, this is exactly what the <tt>Subject.execute</tt>* methods do - they just perform this logic automatically before and after <tt>Callable</tt> or <tt>Runnable</tt> execution.  It is also nearly identical logic performed by Shiro's <tt>ShiroFilter</tt> for web applications (<tt>ShiroFilter</tt> uses web-specific <tt>ThreadState</tt> implementations outside the scope of this section).</p>
 
-<div class="panelMacro"><table class="warningMacro"><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/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Web Use</b><br clear="none">Don't use the above <tt>ThreadState</tt> code example in a thread that is processing a web request.  Web-specific ThreadState implementations are used during web requests instead.  Instead, ensure the <tt>ShiroFilter</tt> intercepts web requests to ensure Subject building/binding/cleanup is done properly.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="warningMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody>
+        <tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-exclamation-circle"></i>
+            </td>
+
+            <td colspan="1" rowspan="1">
+                <b>Web Use</b>
+                <br clear="none">
+                Don't use the above <tt>ThreadState</tt> code example in a thread that is processing a web request.  Web-specific ThreadState implementations are used during web requests instead.  Instead, ensure the <tt>ShiroFilter</tt> intercepts web requests to ensure Subject building/binding/cleanup is done properly.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <h4><a name="Subject-ADifferentThread"></a>A Different Thread</h4>
 
@@ -420,7 +499,25 @@ Executor executor = <span class="code-ke
 </pre>
 </div></div>
 
-<div class="panelMacro"><table class="tipMacro"><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/check.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Automatic Cleanup</b><br clear="none">The <tt>associateWith</tt>* methods perform necessary thread cleanup automatically to ensure threads remain clean in a pooled environment.</td></tr></table></div>
+<div class="panelMacro">
+    <table class="tipMacro">
+        <colgroup span="1">
+            <col span="1" width="24">
+            <col span="1">
+        </colgroup>
+        <tbody><tr>
+            <td colspan="1" rowspan="1" valign="top">
+                <i class="fa fa-check-square-o"></i>
+            </td>
+            <td colspan="1" rowspan="1">
+                <b>Automatic Cleanup</b>
+                <br clear="none">
+                The <tt>associateWith</tt>* methods perform necessary thread cleanup automatically to ensure threads remain clean in a pooled environment.
+            </td>
+        </tr>
+        </tbody>
+    </table>
+</div>
 
 <h2><a name="Subject-Lendahandwithdocumentation"></a>Lend a hand with documentation </h2>
 




Mime
View raw message