You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by bm...@apache.org on 2021/10/08 12:03:00 UTC

[shiro-site] branch jbake updated: convert cryptography-features and jsp-tag-library.

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

bmarwell pushed a commit to branch jbake
in repository https://gitbox.apache.org/repos/asf/shiro-site.git


The following commit(s) were added to refs/heads/jbake by this push:
     new 214cf4e  convert cryptography-features and jsp-tag-library.
     new c467d92  Merge pull request #106 from bmarwell/jbake
214cf4e is described below

commit 214cf4e2c056182cce4d789876c0e1678d1e106e
Author: Benjamin Marwell <bm...@apache.org>
AuthorDate: Fri Oct 8 14:01:32 2021 +0200

    convert cryptography-features and jsp-tag-library.
---
 cryptography-features.md                 | 53 ------------------------
 jbake/content/cryptography-features.adoc | 69 ++++++++++++++++++++++++++++++++
 jbake/content/jsp-tag-library.adoc       | 43 ++++++++++++++++++++
 jsp-tag-library.md                       | 23 -----------
 4 files changed, 112 insertions(+), 76 deletions(-)

diff --git a/cryptography-features.md b/cryptography-features.md
deleted file mode 100644
index 1ebb72e..0000000
--- a/cryptography-features.md
+++ /dev/null
@@ -1,53 +0,0 @@
-<a name="CryptographyFeatures-ApacheShiroCryptographyFeatures"></a>
-#Apache Shiro Cryptography Features
-
-<div class="addthis_toolbox addthis_default_style">
-    <a class="addthis_button_compact" href="http://www.addthis.com/bookmark.php?v=250&amp;pubid=ra-4d66ef016022c3bd">Share</a>
-    <span class="addthis_separator">|</span>
-    <a class="addthis_button_preferred_1"></a>
-    <a class="addthis_button_preferred_2"></a>
-    <a class="addthis_button_preferred_3"></a>
-    <a class="addthis_button_preferred_4"></a>
-</div>
-<script type="text/javascript">var addthis_config = {"data_track_clickback":true};</script>
-<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4d66ef016022c3bd"></script>
-
-
-Cryptography is the practice of protecting information from undesired access by hiding it or converting it into nonsense so no one else can read it. Shiro focuses on two core elements of Cryptography: ciphers that encrypt data like email using a public or private key, and hashes (aka message digests) that irreversibly encrypt data like passwords.
-
-Shiro Cryptography's primary goal is take what has traditionally been an extremely complex field and make it easy for the rest of us while providing a robust set of cryptography features.
-
-<a name="CryptographyFeatures-SimplicityFeatures"></a>
-##Simplicity Features
-
-*   **Interface-driven, POJO based** - All of Shiro's APIs are interface-based and implemented as POJOs. This allows you to easily configure Shiro Cryptography components with JavaBeans-compatible formats like JSON, YAML, Spring XML and others. You can also override or customize Shiro as you see necessary, leveraging its API to save you time and effort.
-
-*   **Simplified wrapper over JCE** - The Java Cryptography Extension (JCE) can be complicated and difficult to use unless you're a cryptography expert. Shiro's Cryptography APIs are much easier to understand and use, and they dramatically simplify JCE concepts. So now even Cryptography novices can find what they need in minutes rather than hours or days. And you won't sacrifice any functionality because you still have access to more complicated JCE options if you need them.
-
-*   **“Object Orientifies” cryptography concepts** - The JDK/JCE's Cipher and Message Digest (Hash) classes are abstract classes and quite confusing, requiring you to use obtuse factory methods with type-unsafe string arguments to acquire instances you want to use. Shiro 'Object Orientifies' Ciphers and Hashes, basing them on a clean object hierarchy, and allows you to use them by simple instantiation.
-
-*   **Runtime Exceptions** - Like everywhere else in Shiro, all cryptography exceptions are RuntimeExceptions. You can decide whether or not to catch an exception based on your needs.
-
-<a name="CryptographyFeatures-CipherFeatures"></a>
-##Cipher Features
-
-*   **OO Hierarchy** - Unlike the JCE, Shiro Cipher representations follow an Object-Oriented class hierarchy that match their mathematical concepts: `AbstractSymmetricCipherService`, `DefaultBlockCipherService`, `AesCipherService`, etc. This allows you to easily override existing classes and extend functionality as needed.
-
-*   **Just instantiate a class** - Unlike the JCE's confusing factory methods using String token arguments, using Shiro Ciphers are much easier - just instantiate a class, configure it with JavaBeans properties as necessary, and use it as desired. For example, `new AesCipherService()`.
-
-*   **More secure default settings** - The JCE Cipher instances assume a 'lowest common denominator' default and do not automatically enable more secure options. Shiro will automatically enable the more secure options to ensure your data is as safe as it can be by default, helping you prevent accidental security holes.
-
-<a name="CryptographyFeatures-HashFeatures"></a>
-##Hash Features
-
-*   **Default interface implementations** - Shiro provides default Hash (aka Message Digests in the JDK) implementations out-of-the-box, such as MD5, SHA1, SHA-256, et al. This provides a type-safe construction method (e.g. `new Md5Hash(data)`) instead of being forced to use type-unsafe string factory methods in the JDK.
-
-*   **Built-in Hex and Base64 conversion** - Shiro Hash instances can automatically provide Hex and Base-64 encoding of hashed data via their `toHex()` and `toBase64()` methods. So now you do not need to figure out how to correctly encode the data yourself.
-
-*   **Built-in Salt and repeated hashing support** - Salts and repeated hash iterations are very valuable tools when hashing data, especially when it comes to protecting user passwords. Shiro's Hash implementations support salts and multiple hash iterations out of the box so you don't have to repeat this logic anywhere you might need it.
-
-<a name="CryptographyFeatures-GetStartedin10MinuteswithShiro"></a>
-##Get Started in 10 Minutes with Shiro
-
-Try out Shiro for yourself with our [10 Minute Tutorial](10-minute-tutorial.html "10 Minute Tutorial"). And if you have any questions about Shiro, please check out our [community forum](forums.html "Forums") or [user mailing list](mailing-lists.html "Mailing Lists") for answers from the community.
-<input type="hidden" id="ghEditPage" value="cryptography-features.md"></input>
diff --git a/jbake/content/cryptography-features.adoc b/jbake/content/cryptography-features.adoc
new file mode 100644
index 0000000..6612fd9
--- /dev/null
+++ b/jbake/content/cryptography-features.adoc
@@ -0,0 +1,69 @@
+[#CryptographyFeatures-ApacheShiroCryptographyFeatures]
+= Apache Shiro Cryptography Features
+:jbake-type: page
+:jbake-status: published
+:jbake-tags: documentation, cryptography, manual
+:idprefix:
+:icons: font
+
+Cryptography is the practice of protecting information from undesired access by hiding it or converting it into nonsense so no one else can read it.
+Shiro focuses on two core elements of Cryptography: ciphers that encrypt data like email using a public or private key, and hashes (aka message digests) that irreversibly encrypt data like passwords.
+
+Shiro Cryptography's primary goal is take what has traditionally been an extremely complex field and make it easy for the rest of us while providing a robust set of cryptography features.
+
+[#CryptographyFeatures-SimplicityFeatures]
+== Simplicity Features
+
+* *Interface-driven, POJO based* +
+All of Shiro's APIs are interface-based and implemented as POJOs.
+This allows you to easily configure Shiro Cryptography components with JavaBeans-compatible formats like JSON, YAML, Spring XML and others.
+You can also override or customize Shiro as you see necessary, leveraging its API to save you time and effort.
+
+* *Simplified wrapper over JCE* +
+The Java Cryptography Extension (JCE) can be complicated and difficult to use unless you're a cryptography expert.
+Shiro's Cryptography APIs are much easier to understand and use, and they dramatically simplify JCE concepts.
+So now even Cryptography novices can find what they need in minutes rather than hours or days.
+And you won't sacrifice any functionality because you still have access to more complicated JCE options if you need them.
+
+* *“Object Orientifies” cryptography concepts* +
+The JDK/JCE's Cipher and Message Digest (Hash) classes are abstract classes and quite confusing, requiring you to use obtuse factory methods with type-unsafe string arguments to acquire instances you want to use.
+Shiro 'Object Orientifies' Ciphers and Hashes, basing them on a clean object hierarchy, and allows you to use them by simple instantiation.
+
+* *Runtime Exceptions* +
+Like everywhere else in Shiro, all cryptography exceptions are RuntimeExceptions.
+You can decide whether to catch an exception based on your needs.
+
+[#CryptographyFeatures-CipherFeatures]
+== Cipher Features
+
+* *OO Hierarchy* - Unlike the JCE, Shiro Cipher representations follow an Object-Oriented class hierarchy that match their mathematical concepts: `AbstractSymmetricCipherService`, `DefaultBlockCipherService`, `AesCipherService`, etc.
+This allows you to easily override existing classes and extend functionality as needed.
+
+* *Just instantiate a class* +
+Unlike the JCE's confusing factory methods using String token arguments, using Shiro Ciphers are much easier - just instantiate a class, configure it with JavaBeans properties as necessary, and use it as desired.
+For example, `new AesCipherService()`.
+
+* *More secure default settings* +
+The JCE Cipher instances assume a 'lowest common denominator' default and do not automatically enable more secure options.
+Shiro will automatically enable the more secure options to ensure your data is as safe as it can be by default, helping you prevent accidental security holes.
+
+[#CryptographyFeatures-HashFeatures]
+== Hash Features
+
+* *Default interface implementations* +
+Shiro provides default Hash (aka Message Digests in the JDK) implementations out-of-the-box, such as MD5, SHA1, SHA-256, et al.
+This provides a type-safe construction method (e.g. `new Md5Hash(data)`) instead of being forced to use type-unsafe string factory methods in the JDK.
+
+* *Built-in Hex and Base64 conversion* +
+Shiro Hash instances can automatically provide Hex and Base-64 encoding of hashed data via their `toHex()` and `toBase64()` methods.
+So now you do not need to figure out how to correctly encode the data yourself.
+
+* *Built-in Salt and repeated hashing support* +
+Salts and repeated hash iterations are very valuable tools when hashing data, especially when it comes to protecting user passwords.
+Shiro's Hash implementations support salts and multiple hash iterations out of the box, so you don't have to repeat this logic anywhere you might need it.
+
+[#CryptographyFeatures-GetStartedin10MinuteswithShiro]
+== Get Started in 10 Minutes with Shiro
+
+Try out Shiro for yourself with our link:/10-minute-tutorial.html[10 Minute Tutorial].
+If you have any questions about Shiro, please check out our link:/forums.html[community forum] or link:/mailing-lists.html[user mailing list] for answers from the community.
diff --git a/jbake/content/jsp-tag-library.adoc b/jbake/content/jsp-tag-library.adoc
new file mode 100644
index 0000000..8384e82
--- /dev/null
+++ b/jbake/content/jsp-tag-library.adoc
@@ -0,0 +1,43 @@
+[#JSPTagLibrary-JSPGSPTagLibraryforApacheShiro]
+= JSP/GSP Tag Library for Apache Shiro
+:jbake-type: page
+:jbake-status: published
+:jbake-tags: documentation, jsp, gsp, taglib
+:idprefix:
+:icons: font
+
+* *<shiro:guest/>* +
+Displays body content only if the current Subject IS NOT known to the system, either because they have not logged in or they have no corresponding 'RememberMe' identity.
+It is logically opposite to the 'user' tag.
+
+* *<shiro:user/>* +
+Displays body content only if the current Subject has a known identity, either from a previous login or from 'RememberMe' services.
+Note that this is semantically different from the 'authenticated' tag, which is more restrictive.
+It is logically opposite to the 'guest' tag.
+
+* *<shiro:principal/>* +
+Displays the user's principal or a property of the user's principal.
+
+* *<shiro:hasPermission/>* +
+Displays body content only if the current Subject (user) 'has' (implies) the specified permission (i.e the user has the specified ability).
+
+* *<shiro:lacksPermission/>* +
+Displays body content only if the current Subject (user) does NOT have (not imply) the specified permission (i.e. the user lacks the specified ability).
+
+* *<shiro:hasRole/>* +
+Displays body content only if the current user has the specified role.
+
+* *<shiro:lacksRole/>* +
+Displays body content only if the current user does NOT have the specified role (i.e. they explicitly lack the specified role).
+
+* *<shiro:hasAnyRoles/>* +
+Displays body content only if the current user has one of the specified roles from a comma-separated list of role names.
+
+* *<shiro:authenticated/>* +
+Displays body content only if the current user has successfully authenticated _during their current session_.
+It is more restrictive than the 'user' tag.
+It is logically opposite to the 'notAuthenticated' tag.
+
+* *<shiro:notAuthenticated/>* +
+Displays body content only if the current user has NOT succesfully authenticated _during their current session_.
+It is logically opposite to the 'authenticated' tag.
diff --git a/jsp-tag-library.md b/jsp-tag-library.md
deleted file mode 100644
index 2c15d6b..0000000
--- a/jsp-tag-library.md
+++ /dev/null
@@ -1,23 +0,0 @@
-<a name="JSPTagLibrary-JSP%2FGSPTagLibraryforApacheShiro"></a>
-#JSP/GSP Tag Library for Apache Shiro
-
-*   **<shiro:guest/>** - Displays body content only if the current Subject IS NOT known to the system, either because they have not logged in or they have no corresponding 'RememberMe' identity. It is logically opposite to the 'user' tag.
-
-*   **<shiro:user/>** - Displays body content only if the current Subject has a known identity, either from a previous login or from 'RememberMe' services. Note that this is semantically different from the 'authenticated' tag, which is more restrictive. It is logically opposite to the 'guest' tag.
-
-*   **<shiro:principal/>** - Displays the user's principal or a property of the user's principal.
-
-*   **<shiro:hasPermission/>** - Displays body content only if the current Subject (user) 'has' (implies) the specified permission (i.e the user has the specified ability).
-
-*   **<shiro:lacksPermission/>** - Displays body content only if the current Subject (user) does NOT have (not imply) the specified permission (i.e. the user lacks the specified ability)
-
-*   **<shiro:hasRole/>** - Displays body content only if the current user has the specified role.
-
-*   **<shiro:lacksRole/>** - Displays body content only if the current user does NOT have the specified role (i.e. they explicitly lack the specified role)
-
-*   **<shiro:hasAnyRoles/>** - Displays body content only if the current user has one of the specified roles from a comma-separated list of role names
-
-*   **<shiro:authenticated/>** - Displays body content only if the current user has successfully authenticated _during their current session_. It is more restrictive than the 'user' tag. It is logically opposite to the 'notAuthenticated' tag.
-
-*   **<shiro:notAuthenticated/>** - Displays body content only if the current user has NOT succesfully authenticated _during their current session_. It is logically opposite to the 'authenticated' tag.
-<input type="hidden" id="ghEditPage" value="jsp-tag-library.md"></input>