You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by bd...@apache.org on 2016/12/12 21:03:40 UTC

[1/6] shiro-site git commit: Added first pass at a jaxrs page (commented out in the header, as 1.4.0 has NOT been released yet)

Repository: shiro-site
Updated Branches:
  refs/heads/master e33b70aab -> 4db17c848


Added first pass at a jaxrs page (commented out in the header, as 1.4.0 has NOT been released yet)


Project: http://git-wip-us.apache.org/repos/asf/shiro-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/shiro-site/commit/e62399f9
Tree: http://git-wip-us.apache.org/repos/asf/shiro-site/tree/e62399f9
Diff: http://git-wip-us.apache.org/repos/asf/shiro-site/diff/e62399f9

Branch: refs/heads/master
Commit: e62399f949713e777c71599144f740c35fea52fe
Parents: e33b70a
Author: Brian Demers <bd...@apache.org>
Authored: Tue Nov 22 13:19:11 2016 -0500
Committer: Brian Demers <bd...@apache.org>
Committed: Tue Nov 22 13:19:11 2016 -0500

----------------------------------------------------------------------
 jaxrs.md              | 114 +++++++++++++++++++++++++++++++++++++++++++++
 templates/default.vtl |  14 +++++-
 2 files changed, 127 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/shiro-site/blob/e62399f9/jaxrs.md
----------------------------------------------------------------------
diff --git a/jaxrs.md b/jaxrs.md
new file mode 100644
index 0000000..6043a57
--- /dev/null
+++ b/jaxrs.md
@@ -0,0 +1,114 @@
+Apache Shiro JAX-RS Support
+===========================
+
+Apache Shiro's JAX-RS support is built on top of the more general [Servlet](web.html) support, and requires Shiro's Servlet Filter to be setup.  The Servlet Filter can be setup by using Shiro's Servlet fragment, `web.xml` configuration, or programmatically.
+
+Dependencies
+------------
+
+Using the Servlet Fragment is easiest, simply include the dependency in your application, along with `shiro-jaxrs` for Apache Maven, this would be:
+
+``` xml
+<dependency>
+    <groupId>org.apache.shiro</groupId>
+    <artifactId>shiro-servlet-plugin</artifactId>
+    <version>${latestRelease}</version>
+</dependency>
+<dependency>
+    <groupId>org.apache.shiro</groupId>
+    <artifactId>shiro-jaxrs</artifactId>
+    <version>${latestRelease}</version>
+</dependency>
+```
+
+For information on other ways to set up the Apache Shiro Filter see the [web documentation](web.html).
+
+Configuration
+-------------
+
+There are two basic approaches used to define the authentication and authorization for your JAX-RS resources: paths defined statically in configuration, or via annotations on your resource.
+
+If you are using [Guice](guice.html) or [Spring](spring.html) see those docs on how to configure Shiro.
+
+### Paths defined in `shiro.ini`
+
+Just like any other web application, your resources paths can be defined in a `shiro.ini` file. For example, to require resources under `/api/secured` to use basic authentication, your `[urls]` section would look like:
+
+``` ini
+[urls]
+
+/api/secured/** = authcBaic
+```
+
+See the [web documentation](web.html) for more details.
+
+The other, probably more popular, option is to use Shiro's [annotations](java-annotations-list.html) along side other JAX-RS annotations on your resources. However you **MUST** still define at least one path in your `shiro.ini` file.
+
+The below code block will allow for basic authentication but NOT require it (via the `permissive` flag). This way all of the resources under `/api` can optional require authentication and authorization based on annotations.
+
+``` ini
+[urls]
+
+/api/** = authcBaic[permissive]
+```
+
+Example
+-------
+
+To create a simple example we can define a JAX-RS resource `HelloShiro`:
+
+``` java
+@Path("/shiro")
+public class HelloShiro {
+
+  @GET
+  @RequiresUser
+  public String sayHelloShiro() {
+      return "Hello!";
+  }
+  
+  @GET
+  @Path("define")
+  @RequiresPermissions("hello:define")
+  public String defineShiro() {
+      return  "Shiro is the Japanese term for a castle";
+  }
+}
+```
+
+This resource has two end points, the first allows access by any logged in user, the second any user with the [permission](permissions.html) `hello:define`.
+
+The corresponding JAX-RS Application class:
+
+``` java
+@ApplicationPath("/api")
+public class ExampleApp extends Application {
+
+@Override
+    public Set<Class<?>> getClasses() {
+        Set<Class<?>> classes = new HashSet<>();
+
+        // register the Shiro Feature
+        classes.add(ShiroFeature.class);
+
+        // register resources:
+        classes.add(HelloShiro.class);
+
+        return classes;
+    }
+}
+```
+
+The `ShiroFeature` does three things:
+
+* configures exception mapping from Shiro's `AuthorizationException` to HTTP status codes (401 and 403)
+* exposes Shiro's `Subject` as a `java.security.Principal`
+* Configures processing of Shiro's annotations.
+
+In the above example, requests to either `/api/shiro` or `/api/shiro/define` will return an HTTP status of `401` if a user is not currently logged in.  A request to `/api/shiro/define` made by a user without the `hello:define` will return a `403`.
+
+Want to see more?
+-----------------
+
+You can find portable JAX-RS application that runs with [Jersey](https://jersey.java.net/), [RestEasy](http://resteasy.jboss.org/) or [Apache CXF](https://cxf.apache.org) in the [samples](https://github.com/apache/shiro/tree/master/samples) directory on Github.
+

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/e62399f9/templates/default.vtl
----------------------------------------------------------------------
diff --git a/templates/default.vtl b/templates/default.vtl
index 954bf73..570ac5a 100644
--- a/templates/default.vtl
+++ b/templates/default.vtl
@@ -128,7 +128,19 @@
             <ul class="nav navbar-nav">
                 <li><a href="$root/get-started.html">Get Started</a></li>
                 <li><a href="$root/documentation.html">Docs</a></li>
-                <li><a href="$root/web-features.html">Web Apps</a></li>
+
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                        Web Apps <b class="caret"></b>
+                    </a>
+
+                    <ul class="dropdown-menu">
+                        <li><a href="$root/web.html">General</a></li>
+##                        <li><a href="$root/jaxrs.html">JAX-RS</a></li>
+                        <li class="divider"></li>
+                        <li><a href="$root/web-features.html">Features</a></li>
+                    </ul>
+                </li>
 
                 <li class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">


[3/6] shiro-site git commit: Adding Freedomotic to integrations page

Posted by bd...@apache.org.
Adding Freedomotic to integrations page


Project: http://git-wip-us.apache.org/repos/asf/shiro-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/shiro-site/commit/555d49a0
Tree: http://git-wip-us.apache.org/repos/asf/shiro-site/tree/555d49a0
Diff: http://git-wip-us.apache.org/repos/asf/shiro-site/diff/555d49a0

Branch: refs/heads/master
Commit: 555d49a0d2a807179a8cf130d1ca670afc7a5199
Parents: fb3c173
Author: Brian Demers <bd...@apache.org>
Authored: Mon Dec 12 15:44:20 2016 -0500
Committer: Brian Demers <bd...@apache.org>
Committed: Mon Dec 12 15:44:20 2016 -0500

----------------------------------------------------------------------
 .gitignore     | 1 +
 integration.md | 3 +++
 2 files changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/shiro-site/blob/555d49a0/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 7875f25..f4aaf66 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 shiro-site.iml
+.idea/

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/555d49a0/integration.md
----------------------------------------------------------------------
diff --git a/integration.md b/integration.md
index b2deac5..9c3c9d0 100644
--- a/integration.md
+++ b/integration.md
@@ -65,6 +65,9 @@ Krail provides a framework for rapid Java web development by combining Vaadin, G
 * **[Rewrite Servlet](https://github.com/ocpsoft/rewrite/tree/master/security-integration-shiro)** from [ocpsoft](http://www.ocpsoft.org/rewrite/)
 A highly configurable URL-rewriting tool for Java EE 6+ and Servlet 2.5+ applications
 
+* **[Freedomotic](http://freedomotic.com/)** from [Freedomotic.com](http://reedomotic.com)
+Freedomotic is an open source, flexible, secure Internet of Things (IoT) development framework in Java, useful to build and manage modern smart spaces.
+
 ## Ports
 
 * **[Turnstile](https://github.com/stormpath/Turnstile)** - Swift


[5/6] shiro-site git commit: add another ignored file '.idea'

Posted by bd...@apache.org.
add another ignored file '.idea'


Project: http://git-wip-us.apache.org/repos/asf/shiro-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/shiro-site/commit/fd8e936a
Tree: http://git-wip-us.apache.org/repos/asf/shiro-site/tree/fd8e936a
Diff: http://git-wip-us.apache.org/repos/asf/shiro-site/diff/fd8e936a

Branch: refs/heads/master
Commit: fd8e936a56ba4e7d750e0eaa0b030514f9fa436f
Parents: 8467671
Author: Brian Demers <bd...@apache.org>
Authored: Mon Dec 12 15:49:48 2016 -0500
Committer: Brian Demers <bd...@apache.org>
Committed: Mon Dec 12 15:49:48 2016 -0500

----------------------------------------------------------------------
 config.scms.groovy | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fd8e936a/config.scms.groovy
----------------------------------------------------------------------
diff --git a/config.scms.groovy b/config.scms.groovy
index 7a812e5..89af018 100644
--- a/config.scms.groovy
+++ b/config.scms.groovy
@@ -1,6 +1,6 @@
 scms {
 
-    excludes = ['templates/**', '**/.svn', '**/.git', '**/.gitignore', '**/*.iml', '**/*.ipr', '**/*.iws']
+    excludes = ['templates/**', '**/.svn', '**/.git', '**/.gitignore', '**/*.iml', '**/*.ipr', '**/*.iws', '**/.idea']
 
     //global defaults:
     //model {


[2/6] shiro-site git commit: Removed some duplication by using a `#lendAHandDoc()` macro

Posted by bd...@apache.org.
Removed some duplication by using a `#lendAHandDoc()` macro


Project: http://git-wip-us.apache.org/repos/asf/shiro-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/shiro-site/commit/fb3c1730
Tree: http://git-wip-us.apache.org/repos/asf/shiro-site/tree/fb3c1730
Diff: http://git-wip-us.apache.org/repos/asf/shiro-site/diff/fb3c1730

Branch: refs/heads/master
Commit: fb3c17304356b45eb96dffd9ad01b4ed8666a74d
Parents: e62399f
Author: Brian Demers <bd...@apache.org>
Authored: Wed Nov 23 12:30:18 2016 -0500
Committer: Brian Demers <bd...@apache.org>
Committed: Wed Nov 23 12:30:18 2016 -0500

----------------------------------------------------------------------
 architecture.md.vtl              |  8 +-------
 authentication.md.vtl            |  9 +--------
 configuration.md.vtl             |  9 +--------
 documentation.md.vtl             |  6 +-----
 guice.md.vtl                     |  7 +------
 java-authentication-guide.md.vtl |  7 +------
 java-authorization-guide.md.vtl  |  7 +------
 java-cryptography-guide.md.vtl   |  7 +------
 permissions.md                   |  7 +------
 realm.md.vtl                     |  9 +--------
 securitymanager.md.vtl           |  7 +------
 subject.md.vtl                   |  7 +------
 templates/macros/lend-a-hand.vtl | 12 ++++++++----
 testing.md.vtl                   |  7 +------
 web.md.vtl                       |  9 +--------
 15 files changed, 22 insertions(+), 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/architecture.md.vtl
----------------------------------------------------------------------
diff --git a/architecture.md.vtl b/architecture.md.vtl
index e6b0a97..d5c309b 100644
--- a/architecture.md.vtl
+++ b/architecture.md.vtl
@@ -102,12 +102,6 @@ The `SecurityManager` implementations and are also JavaBeans compatible, which a
 
 We will cover [Configuration](configuration.html) next.
 
-<a name="Architecture-Lendahandwithdocumentation"></a>
-#[[##Lend a hand with documentation]]#
-
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html).
-
+#lendAHandDoc()
 
 <input type="hidden" id="ghEditPage" value="architecture.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/authentication.md.vtl
----------------------------------------------------------------------
diff --git a/authentication.md.vtl b/authentication.md.vtl
index c5d3d85..02f697b 100644
--- a/authentication.md.vtl
+++ b/authentication.md.vtl
@@ -27,8 +27,6 @@ Apache Shiro Authentication
         *   [Explicit Ordering](#Authentication-ExplicitOrdering)
 
 *   [Realm Authentication](#Authentication-RealmAuthentication)
-*   [Lend a hand with documentation](#Authentication-Lendahandwithdocumentation)
-
 
 <img style="margin:0px auto;display:block" src="assets/images/ShiroFeatures_Authentication.png"/>
 
@@ -307,11 +305,6 @@ Realm Authentication
 
 This chapter covers Shiro's master workflow explaining how an authentication attempt occurs. The internal workflow of what happens in a single realm as it is consulted during authentication (i.e. 'Step 5' above) is covered in the [Realm](realm.html "Realm") chapter's [Realm Authentication](realm.html#[[#]]#Realm-authentication) section.
 
-<a name="Authentication-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
-
-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.
+#lendAHandDoc()
 
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="authentication.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/configuration.md.vtl
----------------------------------------------------------------------
diff --git a/configuration.md.vtl b/configuration.md.vtl
index d8b29b7..fe4e288 100644
--- a/configuration.md.vtl
+++ b/configuration.md.vtl
@@ -43,8 +43,6 @@ Apache Shiro Configuration
         
         *   [`[urls]`](#Configuration-%5Curls%5C)
 
-*   [Lend a hand with documentation](#Configuration-Lendahandwithdocumentation)
-
 Shiro is designed to work in any environment, from simple command-line applications to the largest enterprise clustered applications. Because of this diversity of environments, there are a number of configuration mechanisms that are suitable for configuration. This section covers the configuration mechanisms that are supported by Shiro core only.
 
 #tip('Many Configuration Options', 'Shiro''s <code>SecurityManager</code> implementations and all supporting components are all JavaBeans compatible.  This allows Shiro to be configured with practically any configuration format such as regular Java, XML (Spring, JBoss, Guice, etc), <a class="external-link" href="http://www.yaml.org/" rel="nofollow">YAML</a>, JSON, Groovy Builder markup, and more.')
@@ -488,11 +486,6 @@ to the [`org.apache.shiro.authz.permission.WildcardPermission`](static/current/a
 
 This section and its options is described in the [Web](web.html "Web") chapter.
 
-<a name="Configuration-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
-
-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.
+#lendAHandDoc()
 
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="configuration.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/documentation.md.vtl
----------------------------------------------------------------------
diff --git a/documentation.md.vtl b/documentation.md.vtl
index 45ea3e2..22c983c 100644
--- a/documentation.md.vtl
+++ b/documentation.md.vtl
@@ -37,10 +37,6 @@ Apache Shiro ${latestRelease} ([Download](download.html "Download"))
 *   [Browse Source](static/${latestRelease}/xref/) (XREF)
 *   [Maven Static Site](static/${latestRelease}/)
 
-<a name="Documentation-Lendahandwithdocumentation"></a>
-#[[##Lend a hand with documentation]]#
+#lendAHandDoc()
 
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="documentation.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/guice.md.vtl
----------------------------------------------------------------------
diff --git a/guice.md.vtl b/guice.md.vtl
index 11e2b33..abe4cc2 100644
--- a/guice.md.vtl
+++ b/guice.md.vtl
@@ -166,11 +166,6 @@ bind(HashedCredentialsMatcher.class);
 bindConstant().annotatedWith(Names.named("shiro.hashAlgorithmName")).to(Md5Hash.ALGORITHM_NAME);
 ```
 
-<a name="Guice-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
+#lendAHandDoc()
 
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="guice.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/java-authentication-guide.md.vtl
----------------------------------------------------------------------
diff --git a/java-authentication-guide.md.vtl b/java-authentication-guide.md.vtl
index 4409553..323caf8 100644
--- a/java-authentication-guide.md.vtl
+++ b/java-authentication-guide.md.vtl
@@ -141,11 +141,6 @@ currentUser.logout(); //removes all identifying information and invalidates thei
 
 When you log out in Shiro it will close out the user session and removes any associated identity from the subject instance. If you're using RememberMe in a web environment, then `.logout()` will, by default, also delete the RememberMe cookie from the browser.
 
-<a name="JavaAuthenticationGuide-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
+#lendAHandDoc()
 
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="java-authentication-guide.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/java-authorization-guide.md.vtl
----------------------------------------------------------------------
diff --git a/java-authorization-guide.md.vtl b/java-authorization-guide.md.vtl
index 0794b4c..77e6dc6 100644
--- a/java-authorization-guide.md.vtl
+++ b/java-authorization-guide.md.vtl
@@ -224,11 +224,6 @@ Caching Authorization
 
 TBD
 
-<a name="JavaAuthorizationGuide-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
+#lendAHandDoc()
 
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="java-authorization-guide.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/java-cryptography-guide.md.vtl
----------------------------------------------------------------------
diff --git a/java-cryptography-guide.md.vtl b/java-cryptography-guide.md.vtl
index 1be3d3c..91ac6a1 100644
--- a/java-cryptography-guide.md.vtl
+++ b/java-cryptography-guide.md.vtl
@@ -100,11 +100,6 @@ new MD5Hash( aFile ).toHex();
 new Sha256(aPassword, salt, 1024).toBase64();
 ```
 
-<a name="JavaCryptographyGuide-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
+#lendAHandDoc()
 
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="java-cryptography-guide.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/permissions.md
----------------------------------------------------------------------
diff --git a/permissions.md b/permissions.md
index 2db1534..cb8fe98 100644
--- a/permissions.md
+++ b/permissions.md
@@ -277,11 +277,6 @@ This is usually extremely fast when users, roles and permissions are cached in m
 
 If a Realm implementor has a more efficient way of checking permissions and performing this implication logic, especially if based on the applicaton's data model, they should implement that as part of their Realm isPermitted* method implementations. The default Realm/WildcardPermission support exists to cover 80-90% of most use cases, but it might not be the best solution for applications that have massive amounts of permissions to store and/or check at runtime.
 
-<a name="Permissions-Lendahandwithdocumentation"></a>
-##Lend a hand with documentation
-
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
+#lendAHandDoc()
 
 <input type="hidden" id="ghEditPage" value="permissions.md"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/realm.md.vtl
----------------------------------------------------------------------
diff --git a/realm.md.vtl b/realm.md.vtl
index 5b348a6..9ed93d0 100644
--- a/realm.md.vtl
+++ b/realm.md.vtl
@@ -21,7 +21,6 @@
     *   [Disabling Authentication](#Realm-DisablingAuthentication)
 
 *   [Realm Authorization](#Realm-RealmAuthorization)
-*   [Lend a hand with documentation](#Realm-Lendahandwithdocumentation)
 
 A `Realm` is a component that can access application-specific security data such as users, roles, and permissions. The `Realm` translates this application-specific data into a format that Shiro understands so Shiro can in turn provide a single easy-to-understand [Subject](subject.html "Subject") programming API no matter how many data sources exist or how application-specific your data might be.
 
@@ -237,12 +236,6 @@ Realm Authorization
 
 TBD
 
-<a name="Realm-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
-
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
+#lendAHandDoc()
 
 <input type="hidden" id="ghEditPage" value="realm.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/securitymanager.md.vtl
----------------------------------------------------------------------
diff --git a/securitymanager.md.vtl b/securitymanager.md.vtl
index 3074758..3c48a04 100644
--- a/securitymanager.md.vtl
+++ b/securitymanager.md.vtl
@@ -74,11 +74,6 @@ Most applications instead benefit from text-based configuration that could be mo
 
 Shiro provides a simple INI-based [configuration](configuration.html "Configuration") that can be used out of the box, but any other JavaBeans-compatible mechanism can be used as well. For example, Shiro has excellent [Spring support](spring.html "Spring") too. Other similar frameworks (Guice, JBoss, etc) could also be used.
 
-<a name="SecurityManager-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
+#lendAHandDoc()
 
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="securitymanager.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/subject.md.vtl
----------------------------------------------------------------------
diff --git a/subject.md.vtl b/subject.md.vtl
index 0883de0..6a03ceb 100644
--- a/subject.md.vtl
+++ b/subject.md.vtl
@@ -319,11 +319,6 @@ Executor executor = new java.util.concurrent.Executors.newCachedThreadPool();
 
 #tip('Automatic Cleanup', 'The <code>associateWith</code>* methods perform necessary thread cleanup automatically to ensure threads remain clean in a pooled environment.')
 
-<a name="Subject-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
+#lendAHandDoc()
 
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="subject.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/templates/macros/lend-a-hand.vtl
----------------------------------------------------------------------
diff --git a/templates/macros/lend-a-hand.vtl b/templates/macros/lend-a-hand.vtl
index f734534..4bcd662 100644
--- a/templates/macros/lend-a-hand.vtl
+++ b/templates/macros/lend-a-hand.vtl
@@ -1,9 +1,13 @@
-#macro(todoAddDoc)
-<p>TODO</p>
-
+#macro(lendAHandDoc)
 <h2><a name="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>
+<p>The easiest way to contribute your documentation is to submit a pull-request by clicking on the <code>Edit</code> link below, 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>
+#end
+
+
+#macro(todoAddDoc)
+<p>TODO</p>
+#lendAHandDoc()
 #end
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/testing.md.vtl
----------------------------------------------------------------------
diff --git a/testing.md.vtl b/testing.md.vtl
index 32cd4d7..b5aea2e 100644
--- a/testing.md.vtl
+++ b/testing.md.vtl
@@ -244,11 +244,6 @@ Also note that the `SecurityManager` instance is set up once in a `@BeforeClass`
 
 Finally, just as with the Unit Test example, the `AbstractShiroTest` super class will clean up all Shiro artifacts (any remaining `SecurityManager` and `Subject` instance) via its `@AfterClass tearDownShiro()` method to ensure the thread is 'clean' for the next test class to run.
 
-<a name="Testing-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
+#lendAHandDoc()
 
-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.
-
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="testing.md.vtl"></input>

http://git-wip-us.apache.org/repos/asf/shiro-site/blob/fb3c1730/web.md.vtl
----------------------------------------------------------------------
diff --git a/web.md.vtl b/web.md.vtl
index 1fd4acd..db56c64 100644
--- a/web.md.vtl
+++ b/web.md.vtl
@@ -75,8 +75,6 @@ Apache Shiro Web Support
     *   [The `hasPermission` tag](#Web-The%7B%7BhasPermission%7D%7Dtag)
     *   [The `lacksPermission` tag](#Web-The%7B%7BlacksPermission%7D%7Dtag)
 
-*   [Lend a hand with documentation](#Web-Lendahandwithdocumentation)
-
 
 <a name="Web-configuration"></a>
 <a name="Web-Configuration"></a>
@@ -879,11 +877,6 @@ For example:
 
 The `lacksPermission` tag is the logical opposite of the [hasPermission](#Web-haspermissiontag) tag.
 
-<a name="Web-Lendahandwithdocumentation"></a>
-Lend a hand with documentation
-------------------------------
-
-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.
+#lendAHandDoc()
 
-The easiest way to contribute your documentation is to send it to the [User Forum](http://shiro-user.582556.n2.nabble.com/) or the [User Mailing List](mailing-lists.html "Mailing Lists").
 <input type="hidden" id="ghEditPage" value="web.md.vtl"></input>


[4/6] shiro-site git commit: minor change in jaxrs page

Posted by bd...@apache.org.
minor change in jaxrs page


Project: http://git-wip-us.apache.org/repos/asf/shiro-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/shiro-site/commit/84676719
Tree: http://git-wip-us.apache.org/repos/asf/shiro-site/tree/84676719
Diff: http://git-wip-us.apache.org/repos/asf/shiro-site/diff/84676719

Branch: refs/heads/master
Commit: 84676719fff3eaeace8575336b319ca9b7c2a386
Parents: 555d49a
Author: Brian Demers <bd...@apache.org>
Authored: Mon Dec 12 15:44:34 2016 -0500
Committer: Brian Demers <bd...@apache.org>
Committed: Mon Dec 12 15:44:34 2016 -0500

----------------------------------------------------------------------
 jaxrs.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/shiro-site/blob/84676719/jaxrs.md
----------------------------------------------------------------------
diff --git a/jaxrs.md b/jaxrs.md
index 6043a57..d88b07e 100644
--- a/jaxrs.md
+++ b/jaxrs.md
@@ -103,7 +103,7 @@ The `ShiroFeature` does three things:
 
 * configures exception mapping from Shiro's `AuthorizationException` to HTTP status codes (401 and 403)
 * exposes Shiro's `Subject` as a `java.security.Principal`
-* Configures processing of Shiro's annotations.
+* Configures processing of Shiro's annotations
 
 In the above example, requests to either `/api/shiro` or `/api/shiro/define` will return an HTTP status of `401` if a user is not currently logged in.  A request to `/api/shiro/define` made by a user without the `hello:define` will return a `403`.
 


[6/6] shiro-site git commit: Added Freedomotic project

Posted by bd...@apache.org.
Added Freedomotic project

Project: http://git-wip-us.apache.org/repos/asf/shiro-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/shiro-site/commit/4db17c84
Tree: http://git-wip-us.apache.org/repos/asf/shiro-site/tree/4db17c84
Diff: http://git-wip-us.apache.org/repos/asf/shiro-site/diff/4db17c84

Branch: refs/heads/master
Commit: 4db17c848133067d1b5db11e7805cda2ce9be9d5
Parents: fd8e936
Author: Mauro Cicolella <mc...@libero.it>
Authored: Mon Dec 12 15:40:46 2016 +0100
Committer: Brian Demers <bd...@apache.org>
Committed: Mon Dec 12 16:01:20 2016 -0500

----------------------------------------------------------------------
 integration.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/shiro-site/blob/4db17c84/integration.md
----------------------------------------------------------------------
diff --git a/integration.md b/integration.md
index 9c3c9d0..fb5ec3b 100644
--- a/integration.md
+++ b/integration.md
@@ -65,8 +65,8 @@ Krail provides a framework for rapid Java web development by combining Vaadin, G
 * **[Rewrite Servlet](https://github.com/ocpsoft/rewrite/tree/master/security-integration-shiro)** from [ocpsoft](http://www.ocpsoft.org/rewrite/)
 A highly configurable URL-rewriting tool for Java EE 6+ and Servlet 2.5+ applications
 
-* **[Freedomotic](http://freedomotic.com/)** from [Freedomotic.com](http://reedomotic.com)
-Freedomotic is an open source, flexible, secure Internet of Things (IoT) development framework in Java, useful to build and manage modern smart spaces.
+* **[Freedomotic](http://freedomotic-developer-manual.readthedocs.io/en/latest/plugins/security.html)** from [freedomotic](http://www.freedomotic.com)
+An open source, flexible, secure Internet of Things (IoT) development framework in Java, useful to build and manage modern smart spaces.
 
 ## Ports