You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/09/25 23:06:38 UTC

[isis] 01/03: ISIS-2062: moves shiro docs to isis-plugins-security-shiro

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 43c7a2c4231bf75c9ff502da153b2972651629a5
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Sep 25 17:50:16 2019 +0100

    ISIS-2062: moves shiro docs to isis-plugins-security-shiro
---
 .../archdesign/modules/ROOT/pages/about.adoc       |  10 +++++-
 .../deployment/externalized-configuration.adoc     |   2 +-
 core/_adoc-ug/modules/btb/pages/web-xml.adoc       |   2 +-
 core/security/_adoc/modules/ROOT/nav.adoc          |  28 +--------------
 core/security/_adoc/modules/ROOT/pages/about.adoc  |   2 ++
 .../modules/ROOT/pages/api-for-applications.adoc   |   2 ++
 .../configuring-isis-to-use-bypass.adoc            |   5 +--
 .../modules/ROOT/pages/usage-by-isis-viewers.adoc  |   2 ++
 .../{pages/_partials => partials}/_attributes.adoc |   2 +-
 core/security/_adoc/modules/ROOT/partials/nav.adoc |  19 ++++++++++
 core/security/plugins/shiro/_adoc/antora.yml       |   6 ++++
 core/security/plugins/shiro/_adoc/examples.csv     |   1 +
 .../shiro/_adoc/modules/ROOT/_attributes.adoc      |   6 ++++
 .../_adoc/modules/ROOT/assets/attachments/.gitkeep |   0
 .../ldap/activeds-ldap-groups.png                  | Bin
 .../ldap/activeds-ldap-mojo-partition.png          | Bin
 .../ldap/activeds-ldap-mojo-root-dse.png           | Bin
 .../ldap/activeds-ldap-sasl-authentication.png     | Bin
 .../configuring-shiro/ldap/activeds-ldap-users.png | Bin
 .../configure-isis-to-use-shiro.png                | Bin
 .../configure-shiro-to-use-custom-jdbc-realm.png   | Bin
 .../configure-shiro-to-use-ini-realm.PNG           | Bin
 .../configure-shiro-to-use-isis-ldap-realm.PNG     | Bin
 ...s-security-module-realm-with-delegate-realm.PNG | Bin
 ...iro-to-use-isisaddons-security-module-realm.PNG | Bin
 .../shiro/_adoc/modules/ROOT/examples/.gitkeep     |   0
 .../plugins/shiro/_adoc/modules/ROOT/nav.adoc      |   1 +
 .../_adoc/modules/ROOT/pages}/_attributes.adoc     |   2 +-
 .../shiro/_adoc/modules/ROOT/pages/about.adoc}     |   6 ++--
 .../ROOT/pages/configuring-isis-to-use-shiro.adoc  |   2 ++
 .../shiro/_adoc/modules/ROOT/pages}/run-as.adoc    |   5 +--
 .../_adoc/modules/ROOT/pages}/shiro-caching.adoc   |   4 ++-
 .../shiro-isis-enhanced-wildcard-permission.adoc   |   4 ++-
 .../ROOT/pages/shiro-realm-implementations.adoc}   |  14 ++++----
 .../shiro-realm-implementations/_attributes.adoc   |   0
 .../shiro-realm-implementations/ini-realm.adoc     |   2 ++
 .../isis-ldap-realm.adoc                           |   2 ++
 .../isisaddons-security-module-realm.adoc          |   3 +-
 .../shiro-realm-implementations/jdbc-realm.adoc    |   3 +-
 .../_adoc/modules/ROOT/partials}/_attributes.adoc  |   0
 core/security/plugins/shiro/_adoc/sync_examples.sh |  39 +++++++++++++++++++++
 site.yml                                           |   9 +++++
 42 files changed, 132 insertions(+), 51 deletions(-)

diff --git a/antora/components/archdesign/modules/ROOT/pages/about.adoc b/antora/components/archdesign/modules/ROOT/pages/about.adoc
index 606f09c..a80f21e 100644
--- a/antora/components/archdesign/modules/ROOT/pages/about.adoc
+++ b/antora/components/archdesign/modules/ROOT/pages/about.adoc
@@ -6,4 +6,12 @@ This guide describes the internal architecture and design of the framework.
 [CAUTION]
 ====
 This material is out-of-date.
-====
\ No newline at end of file
+====
+
+
+to discuss:
+
+* our plugin architecture (using ServiceLoader)
+* webmodule architecture (programmatic web.xml)
+* use of Spring Boot & our modules for classpath scanning
+* configuration
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc b/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
index 38ab67c..5d2362d 100644
--- a/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
+++ b/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
@@ -75,7 +75,7 @@ Note that running the app using Apache Isis' `org.apache.isis.WebServer` bootstr
 
 == Shiro Config
 
-If using Apache Isis' xref:security:ROOT:configuring-isis-to-use-shiro.adoc[Shiro integration] for authentication and/or authorization, note that it reads from the `shiro.ini` configuration file.
+If using Apache Isis' xref:security-shiro:ROOT:configuring-isis-to-use-shiro.adoc[Shiro integration] for authentication and/or authorization, note that it reads from the `shiro.ini` configuration file.
 By default this also resides in `WEB-INF`.
 
 Similar to Apache Isis, Shiro lets this configuration directory be altered, by specifying the `shiroConfigLocations` context parameter.
diff --git a/core/_adoc-ug/modules/btb/pages/web-xml.adoc b/core/_adoc-ug/modules/btb/pages/web-xml.adoc
index e02bded..1b55595 100644
--- a/core/_adoc-ug/modules/btb/pages/web-xml.adoc
+++ b/core/_adoc-ug/modules/btb/pages/web-xml.adoc
@@ -13,7 +13,7 @@ You can deploy both of these concurrently, or deploy just the Wicket viewer, or
 The configuration in `web.xml` varies accordingly, both in terms of the servlet context listeners, filters and servlets.
 
 If you are using Apache Isis' integration with Apache Shiro (for security) then this also needs configuring in `web.xml`.
-See the xref:security:ROOT:configuring-isis-to-use-shiro.adoc[security chapter] for full details on this topic.
+See the xref:security-shiro:ROOT:configuring-isis-to-use-shiro.adoc[security guide] for full details on this topic.
 
 The servlets and filters are mapped to three main pipelines:
 
diff --git a/core/security/_adoc/modules/ROOT/nav.adoc b/core/security/_adoc/modules/ROOT/nav.adoc
index ce44809..47365c7 100644
--- a/core/security/_adoc/modules/ROOT/nav.adoc
+++ b/core/security/_adoc/modules/ROOT/nav.adoc
@@ -1,27 +1 @@
-* xref:about.adoc[Security]
-
-
-** xref:configuring-isis-to-use-shiro.adoc[Configuring Isis to use Shiro]
-
-
-** xref:shiro-realm-implementations.adoc[Shiro Realm Implementations]
-*** xref:shiro-realm-implementations/ini-realm.adoc[INI Realm]
-*** xref:shiro-realm-implementations/isis-ldap-realm.adoc[Isis LDAP Realm]
-*** xref:shiro-realm-implementations/isisaddons-security-module-realm.adoc[Isis Addons Security Module Realm]
-*** xref:shiro-realm-implementations/jdbc-realm.adoc[JDBC Realm]
-
-
-** xref:shiro-isis-enhanced-wildcard-permission.adoc[Shiro Isis Enhanced Wildcard Permission]
-
-
-** xref:hints-and-tips.adoc[Hints-n-Tips]
-*** xref:hints-and-tips/configuring-isis-to-use-bypass.adoc[Configuring Isis to use Bypass]
-*** xref:hints-and-tips/run-as.adoc[Run As]
-*** xref:hints-and-tips/shiro-caching.adoc[Shiro Caching]
-
-
-** xref:api-for-applications.adoc[API for Applications]
-
-
-** xref:usage-by-isis-viewers.adoc[Usage by Isis Viewers]
-
+include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
diff --git a/core/security/_adoc/modules/ROOT/pages/about.adoc b/core/security/_adoc/modules/ROOT/pages/about.adoc
index 26a2e2c..448e869 100644
--- a/core/security/_adoc/modules/ROOT/pages/about.adoc
+++ b/core/security/_adoc/modules/ROOT/pages/about.adoc
@@ -1,5 +1,7 @@
 = Security
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
+:page-partial:
 
 This guide describes the authentication and authorization features available to secure your Apache Isis application.
 
diff --git a/core/security/_adoc/modules/ROOT/pages/api-for-applications.adoc b/core/security/_adoc/modules/ROOT/pages/api-for-applications.adoc
index d57d6ca..dcf93ce 100644
--- a/core/security/_adoc/modules/ROOT/pages/api-for-applications.adoc
+++ b/core/security/_adoc/modules/ROOT/pages/api-for-applications.adoc
@@ -1,6 +1,8 @@
+[[api-for-applications]]
 = API for Applications
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
+:page-partial:
 
 
 
diff --git a/core/security/_adoc/modules/ROOT/pages/hints-and-tips/configuring-isis-to-use-bypass.adoc b/core/security/_adoc/modules/ROOT/pages/configuring-isis-to-use-bypass.adoc
similarity index 97%
rename from core/security/_adoc/modules/ROOT/pages/hints-and-tips/configuring-isis-to-use-bypass.adoc
rename to core/security/_adoc/modules/ROOT/pages/configuring-isis-to-use-bypass.adoc
index 8518727..8ee713e 100644
--- a/core/security/_adoc/modules/ROOT/pages/hints-and-tips/configuring-isis-to-use-bypass.adoc
+++ b/core/security/_adoc/modules/ROOT/pages/configuring-isis-to-use-bypass.adoc
@@ -1,7 +1,8 @@
-include::_attributes.adoc[]
+[[configuring-isis-to-use-bypass]]
 = Bypassing security
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
+include::_attributes.adoc[]
+:page-partial:
 
 The bypass security component consists of an implementation of both the `AuthenticationManager` and `AuthorizationManager` APIs, and are intended for prototyping use only.
 
diff --git a/core/security/_adoc/modules/ROOT/pages/usage-by-isis-viewers.adoc b/core/security/_adoc/modules/ROOT/pages/usage-by-isis-viewers.adoc
index bf5c8f3..ed53ad1 100644
--- a/core/security/_adoc/modules/ROOT/pages/usage-by-isis-viewers.adoc
+++ b/core/security/_adoc/modules/ROOT/pages/usage-by-isis-viewers.adoc
@@ -1,6 +1,8 @@
+[[usage-by-isis-viewers]]
 = Usage by Apache Isis' Viewers
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
+:page-partial:
 
 
 
diff --git a/core/security/_adoc/modules/ROOT/pages/_partials/_attributes.adoc b/core/security/_adoc/modules/ROOT/partials/_attributes.adoc
similarity index 81%
copy from core/security/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
copy to core/security/_adoc/modules/ROOT/partials/_attributes.adoc
index d011536..e8ada7c 100644
--- a/core/security/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
+++ b/core/security/_adoc/modules/ROOT/partials/_attributes.adoc
@@ -1,4 +1,4 @@
 ifndef::env-site,env-github[]
-:moduledir: ../..
+:moduledir: ..
 include::{moduledir}/_attributes.adoc[]
 endif::[]
diff --git a/core/security/_adoc/modules/ROOT/partials/nav.adoc b/core/security/_adoc/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..4c0892e
--- /dev/null
+++ b/core/security/_adoc/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,19 @@
+* xref:security:ROOT:about.adoc[Security]
+
+** xref:security:ROOT:configuring-isis-to-use-bypass.adoc[Configuring Isis to use Bypass]
+
+** Shiro
+*** xref:security-shiro:ROOT:configuring-isis-to-use-shiro.adoc[Configuring Isis to use Shiro]
+*** xref:security-shiro:ROOT:shiro-realm-implementations.adoc[Shiro Realm Implementations]
+**** xref:security-shiro:ROOT:shiro-realm-implementations/ini-realm.adoc[INI Realm]
+**** xref:security-shiro:ROOT:shiro-realm-implementations/isis-ldap-realm.adoc[Isis LDAP Realm]
+**** xref:security-shiro:ROOT:shiro-realm-implementations/isisaddons-security-module-realm.adoc[Isis Addons Security Module Realm]
+**** xref:security-shiro:ROOT:shiro-realm-implementations/jdbc-realm.adoc[JDBC Realm]
+*** xref:security-shiro:ROOT:shiro-isis-enhanced-wildcard-permission.adoc[Shiro Isis Enhanced Wildcard Permission]
+*** xref:security-shiro:ROOT:run-as.adoc[Run As]
+*** xref:security-shiro:ROOT:shiro-caching.adoc[Shiro Caching]
+
+** xref:security:ROOT:api-for-applications.adoc[API for Applications]
+
+** xref:security:ROOT:usage-by-isis-viewers.adoc[Usage by Isis Viewers]
+
diff --git a/core/security/plugins/shiro/_adoc/antora.yml b/core/security/plugins/shiro/_adoc/antora.yml
new file mode 100644
index 0000000..87adb67
--- /dev/null
+++ b/core/security/plugins/shiro/_adoc/antora.yml
@@ -0,0 +1,6 @@
+name: security-shiro
+title: "Security - Shiro"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/core/security/plugins/shiro/_adoc/examples.csv b/core/security/plugins/shiro/_adoc/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/core/security/plugins/shiro/_adoc/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/core/security/plugins/shiro/_adoc/modules/ROOT/_attributes.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/_attributes.adoc
new file mode 100644
index 0000000..787e5c4
--- /dev/null
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/_attributes.adoc
@@ -0,0 +1,6 @@
+ifndef::env-site,env-github[]
+:attachmentsdir: {moduledir}/assets/attachments
+:examplesdir: {moduledir}/examples
+:imagesdir: {moduledir}/assets/images
+:partialsdir: {moduledir}/pages/_partials
+endif::[]
diff --git a/core/security/plugins/shiro/_adoc/modules/ROOT/assets/attachments/.gitkeep b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/attachments/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-groups.png b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-groups.png
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-groups.png
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-groups.png
diff --git a/core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-partition.png b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-partition.png
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-partition.png
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-partition.png
diff --git a/core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-root-dse.png b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-root-dse.png
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-root-dse.png
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-root-dse.png
diff --git a/core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-sasl-authentication.png b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-sasl-authentication.png
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-sasl-authentication.png
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-sasl-authentication.png
diff --git a/core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-users.png b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-users.png
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-users.png
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-users.png
diff --git a/core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-isis-to-use-shiro.png b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-isis-to-use-shiro.png
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-isis-to-use-shiro.png
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-isis-to-use-shiro.png
diff --git a/core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-custom-jdbc-realm.png b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-custom-jdbc-realm.png
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-custom-jdbc-realm.png
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-custom-jdbc-realm.png
diff --git a/core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-ini-realm.PNG b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-ini-realm.PNG
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-ini-realm.PNG
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-ini-realm.PNG
diff --git a/core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isis-ldap-realm.PNG b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isis-ldap-realm.PNG
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isis-ldap-realm.PNG
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isis-ldap-realm.PNG
diff --git a/core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm-with-delegate-realm.PNG b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm-with-delegate-realm.PNG
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm-with-delegate-realm.PNG
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm-with-delegate-realm.PNG
diff --git a/core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm.PNG b/core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm.PNG
similarity index 100%
rename from core/security/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm.PNG
rename to core/security/plugins/shiro/_adoc/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm.PNG
diff --git a/core/security/plugins/shiro/_adoc/modules/ROOT/examples/.gitkeep b/core/security/plugins/shiro/_adoc/modules/ROOT/examples/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/core/security/plugins/shiro/_adoc/modules/ROOT/nav.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..47365c7
--- /dev/null
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/nav.adoc
@@ -0,0 +1 @@
+include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
diff --git a/core/security/_adoc/modules/ROOT/pages/_partials/_attributes.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 81%
rename from core/security/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/_attributes.adoc
index d011536..e8ada7c 100644
--- a/core/security/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/_attributes.adoc
@@ -1,4 +1,4 @@
 ifndef::env-site,env-github[]
-:moduledir: ../..
+:moduledir: ..
 include::{moduledir}/_attributes.adoc[]
 endif::[]
diff --git a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/about.adoc
similarity index 83%
rename from core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/about.adoc
index 57cfa90..54d76c5 100644
--- a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/about.adoc
@@ -1,6 +1,6 @@
-= Shiro Realm Implementations
+= Shiro Security
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
+:page-partial:
 
-
-
+This guide describes the configuration of the Shiro implementation of Apache Isis' `Authenticator and `Authorizor` APIs.
diff --git a/core/security/_adoc/modules/ROOT/pages/configuring-isis-to-use-shiro.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/configuring-isis-to-use-shiro.adoc
similarity index 98%
rename from core/security/_adoc/modules/ROOT/pages/configuring-isis-to-use-shiro.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/configuring-isis-to-use-shiro.adoc
index 406ad2a..7310e1a 100644
--- a/core/security/_adoc/modules/ROOT/pages/configuring-isis-to-use-shiro.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/configuring-isis-to-use-shiro.adoc
@@ -1,6 +1,8 @@
+[[configuring-isis-to-use-shiro]]
 = Configuring to use Shiro
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
+:page-partial:
 
 
 Apache Isis' security mechanism is configurable, specifying an `Authenticator` and an `Authorizor` (non-public) APIs.
diff --git a/core/security/_adoc/modules/ROOT/pages/hints-and-tips/run-as.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/run-as.adoc
similarity index 99%
rename from core/security/_adoc/modules/ROOT/pages/hints-and-tips/run-as.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/run-as.adoc
index 0512b74..7d1e488 100644
--- a/core/security/_adoc/modules/ROOT/pages/hints-and-tips/run-as.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/run-as.adoc
@@ -1,7 +1,8 @@
-include::_attributes.adoc[]
+[[run-as]]
 = Run-as
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
+include::_attributes.adoc[]
+:page-partial:
 
 
 This hint shows how to temporarily change the current user as reported by Shiro.
diff --git a/core/security/_adoc/modules/ROOT/pages/hints-and-tips/shiro-caching.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-caching.adoc
similarity index 98%
rename from core/security/_adoc/modules/ROOT/pages/hints-and-tips/shiro-caching.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-caching.adoc
index 675ec3d..b4454c0 100644
--- a/core/security/_adoc/modules/ROOT/pages/hints-and-tips/shiro-caching.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-caching.adoc
@@ -1,6 +1,8 @@
-include::_attributes.adoc[]
+[[shiro-caching]]
 = Caching and other Shiro Features
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+include::_attributes.adoc[]
+:page-partial:
 
 
 We don't want to repeat the entire link:http://shiro.apache.org/documentation.html[Shiro documentation set] here, but we should flag a number of other features that are worth checking out.
diff --git a/core/security/_adoc/modules/ROOT/pages/shiro-isis-enhanced-wildcard-permission.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-isis-enhanced-wildcard-permission.adoc
similarity index 86%
rename from core/security/_adoc/modules/ROOT/pages/shiro-isis-enhanced-wildcard-permission.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-isis-enhanced-wildcard-permission.adoc
index db9165d..2364823 100644
--- a/core/security/_adoc/modules/ROOT/pages/shiro-isis-enhanced-wildcard-permission.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-isis-enhanced-wildcard-permission.adoc
@@ -1,9 +1,11 @@
+[[shiro-isis-enhanced-wildcard-permission]]
 = Enhanced Wildcard Permission
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
+:page-partial:
 
 
-If using the text-based xref:security:ROOT:shiro-realm-implementations/ini-realm.adoc[`IniRealm`] or xref:security:ROOT:shiro-realm-implementations/isis-ldap-realm.adoc[Isis' LDAP realm], then note that Shiro also allows the string representation of the permissions to be mapped (resolved) to alternative `Permission` instances.  Apache Isis provides its own `IsisPermission` which introduces the concept of a "veto".
+If using the text-based xref:security-shiro:ROOT:shiro-realm-implementations/ini-realm.adoc[`IniRealm`] or xref:security-shiro:ROOT:shiro-realm-implementations/isis-ldap-realm.adoc[Isis' LDAP realm], then note that Shiro also allows the string representation of the permissions to be mapped (resolved) to alternative `Permission` instances.  Apache Isis provides its own `IsisPermission` which introduces the concept of a "veto".
 
 A vetoing permission is one that prevents access to a feature, rather than grants it.  This is useful in some situations where most users have access to most features, and only a small number of features are particularly sensitive.  The configuration can therefore be set up to grant fairly broad-brush permissions and then veto permission for the sensitive features for those users that do not have access.
 
diff --git a/core/security/_adoc/modules/ROOT/pages/hints-and-tips.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations.adoc
similarity index 73%
rename from core/security/_adoc/modules/ROOT/pages/hints-and-tips.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations.adoc
index 55c432e..2d7d90f 100644
--- a/core/security/_adoc/modules/ROOT/pages/hints-and-tips.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations.adoc
@@ -1,14 +1,12 @@
-[[hints-and-tips]]
-= Hints and Tips
+[[shiro-realm-implementations]]
+= Shiro Realm Implementations
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
+:page-partial:
 
+The Shiro concept of a `Realm` allows different implementations of both the authentication and authorisation mechanism to be plugged in.
+This chapter lists some of these
 
-
-
-This chapter provides some solutions for problems we've encountered ourselves or have been raised on the Apache Isis mailing lists.
-
-
-
+supports the pluggable realm implementations
 
 
diff --git a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/_attributes.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/_attributes.adoc
similarity index 100%
rename from core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/_attributes.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/_attributes.adoc
diff --git a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/ini-realm.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/ini-realm.adoc
similarity index 99%
rename from core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/ini-realm.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/ini-realm.adoc
index 36796e6..1140470 100644
--- a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/ini-realm.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/ini-realm.adoc
@@ -1,6 +1,8 @@
+[[ini-realm]]
 = Shiro Ini Realm
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
+:page-partial:
 
 
 Probably the simplest realm to use is Shiro's built-in `IniRealm`, which reads from the (same) `WEB-INF/shiro.ini` file.
diff --git a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/isis-ldap-realm.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/isis-ldap-realm.adoc
similarity index 99%
rename from core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/isis-ldap-realm.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/isis-ldap-realm.adoc
index ba8d98a..62cee92 100644
--- a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/isis-ldap-realm.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/isis-ldap-realm.adoc
@@ -1,6 +1,8 @@
+[[isis-ldap-realm]]
 = Isis Ldap Realm
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
+:page-partial:
 
 
 Isis ships with an implementation of http://shiro.apache.org[Apache Shiro]'s `Realm` class that allows user authentication and authorization to be performed against an LDAP server.
diff --git a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc
similarity index 98%
rename from core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc
index 49618e5..d33be37 100644
--- a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc
@@ -1,7 +1,8 @@
+[[isisaddons-security-module-realm]]
 = Security Module Realm
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
-
+:page-partial:
 
 
 The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s security module provides a complete security subdomain for users, roles, permissions; all are persisted as domain entities.
diff --git a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/jdbc-realm.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/jdbc-realm.adoc
similarity index 99%
rename from core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/jdbc-realm.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/jdbc-realm.adoc
index e180f34..4f62d07 100644
--- a/core/security/_adoc/modules/ROOT/pages/shiro-realm-implementations/jdbc-realm.adoc
+++ b/core/security/plugins/shiro/_adoc/modules/ROOT/pages/shiro-realm-implementations/jdbc-realm.adoc
@@ -1,7 +1,8 @@
+[[jdbc-realm]]
 = Shiro JDBC Realm
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
-
+:page-partial:
 
 
 There is nothing to stop you from using some other `Realm` implementation (or indeed writing one yourself).  For example, you could use Shiro's own JDBC realm that loads user/password details from a database.
diff --git a/core/security/_adoc/modules/ROOT/pages/hints-and-tips/_attributes.adoc b/core/security/plugins/shiro/_adoc/modules/ROOT/partials/_attributes.adoc
similarity index 100%
rename from core/security/_adoc/modules/ROOT/pages/hints-and-tips/_attributes.adoc
rename to core/security/plugins/shiro/_adoc/modules/ROOT/partials/_attributes.adoc
diff --git a/core/security/plugins/shiro/_adoc/sync_examples.sh b/core/security/plugins/shiro/_adoc/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/core/security/plugins/shiro/_adoc/sync_examples.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+SCRIPT=$(readlink -f "$0")
+SCRIPTPATH=$(dirname "$SCRIPT")
+if [ $# -ne 1 ]; then
+    FILELIST=$SCRIPTPATH/examples.csv
+else
+    FILELIST=$1
+fi
+FILELISTFQN=$(readlink -f $FILELIST)
+DIRNAME=$(dirname $FILELISTFQN)
+BASENAME=$(basename $FILELISTFQN)
+
+cd $DIRNAME >/dev/null 2>&1
+cat $BASENAME | tail +2 | grep -v ^# | while read LINE
+do
+    FILE=$(echo $LINE | awk -F, '{print $1}' | awk '{$1=$1;print}')
+    F2=$(echo $LINE | awk -F, '{print $2}' | awk '{$1=$1;print}')
+    F3=$(echo $LINE | awk -F, '{print $3}' | awk '{$1=$1;print}')
+    SOURCEFQN=$DIRNAME/$F2/$FILE
+    TARGETDIR=$DIRNAME/$F3
+    TARGETFQN=$DIRNAME/$F3/$FILE
+
+    echo "SOURCEFQN: $SOURCEFQN"
+
+    if [ -f "$SOURCEFQN" ]
+    then
+
+        if [ -f "$TARGETFQN" ]
+        then
+            rm $TARGETFQN
+        fi
+        mkdir -p $TARGETDIR
+        cp $SOURCEFQN $TARGETFQN
+    else
+        echo "- does not exist ($SOURCEFQN) " >&2
+        exit 1
+    fi
+done
+cd - >/dev/null 2>&1
\ No newline at end of file
diff --git a/site.yml b/site.yml
index f0cf799..efc4208 100644
--- a/site.yml
+++ b/site.yml
@@ -43,6 +43,12 @@ content:
       start_path: core/testsupport/_adoc
       branches: HEAD
     - url: .
+      start_path: core/testsupport/unittestsupport/_adoc
+      branches: HEAD
+    - url: .
+      start_path: core/testsupport/integtestsupport/_adoc
+      branches: HEAD
+    - url: .
       branches: HEAD
       start_path: extensions/fixtures/_adoc
     - url: .
@@ -74,6 +80,9 @@ content:
       start_path: core/security/_adoc
       branches: HEAD
     - url: .
+      start_path: core/security/plugins/shiro/_adoc
+      branches: HEAD
+    - url: .
       branches: HEAD
       start_path: extensions/secman/_adoc