You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2016/11/22 07:39:19 UTC
svn commit: r1770807 - in /jackrabbit/site/live/oak/docs/security: .DS_Store
overview.html permission.html permission/permissionsandprivileges.html
Author: angela
Date: Tue Nov 22 07:39:19 2016
New Revision: 1770807
URL: http://svn.apache.org/viewvc?rev=1770807&view=rev
Log:
OAK-936: Site checkin for project Oak Documentation-1.6-SNAPSHOT
Modified:
jackrabbit/site/live/oak/docs/security/.DS_Store
jackrabbit/site/live/oak/docs/security/overview.html
jackrabbit/site/live/oak/docs/security/permission.html
jackrabbit/site/live/oak/docs/security/permission/permissionsandprivileges.html
Modified: jackrabbit/site/live/oak/docs/security/.DS_Store
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/.DS_Store?rev=1770807&r1=1770806&r2=1770807&view=diff
==============================================================================
Binary files - no diff available.
Modified: jackrabbit/site/live/oak/docs/security/overview.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/overview.html?rev=1770807&r1=1770806&r2=1770807&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/overview.html (original)
+++ jackrabbit/site/live/oak/docs/security/overview.html Tue Nov 22 07:39:19 2016
@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia at 2016-07-20
+ | Generated by Apache Maven Doxia at 2016-11-22
| Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20160720" />
+ <meta name="Date-Revision-yyyymmdd" content="20161122" />
<meta http-equiv="Content-Language" content="en" />
<title>Jackrabbit Oak - The Oak Security Layer</title>
<link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
@@ -216,7 +216,7 @@
<ul class="breadcrumb">
- <li id="publishDate">Last Published: 2016-07-20</li>
+ <li id="publishDate">Last Published: 2016-11-22</li>
<li class="divider">|</li> <li id="projectVersion">Version: 1.6-SNAPSHOT</li>
@@ -588,7 +588,12 @@
<ul>
-<li><a href="permission.html">Overview</a></li>
+<li><a href="permission.html">Overview</a>
+
+<ul>
+
+<li><a href="permission/permissionsandprivileges.html">Permissions vs Privileges</a></li>
+ </ul></li>
<li><a href="permission/differences.html">Differences wrt Jackrabbit 2.x</a></li>
Modified: jackrabbit/site/live/oak/docs/security/permission.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/permission.html?rev=1770807&r1=1770806&r2=1770807&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/permission.html (original)
+++ jackrabbit/site/live/oak/docs/security/permission.html Tue Nov 22 07:39:19 2016
@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia at 2016-08-11
+ | Generated by Apache Maven Doxia at 2016-11-22
| Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20160811" />
+ <meta name="Date-Revision-yyyymmdd" content="20161122" />
<meta http-equiv="Content-Language" content="en" />
<title>Jackrabbit Oak - Permissions</title>
<link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
@@ -216,7 +216,7 @@
<ul class="breadcrumb">
- <li id="publishDate">Last Published: 2016-08-11</li>
+ <li id="publishDate">Last Published: 2016-11-22</li>
<li class="divider">|</li> <li id="projectVersion">Version: 1.6-SNAPSHOT</li>
@@ -520,7 +520,7 @@
<h2>Permissions<a name="Permissions"></a></h2>
<p><a href="jcr_api"></a></p>
<div class="section">
-<h3>JCR API<a name="JCR_API"></a></h3>
+<h3>JCR and Jackrabbit API<a name="JCR_and_Jackrabbit_API"></a></h3>
<p>While access control management is a optional feature, a JCR implementation is required to support the basic permission checking. The basic requirements for the permission evalution are defines as follows</p>
<blockquote>
@@ -533,6 +533,8 @@
<li><tt>Session#hasPermission(String absPath, String actions)</tt></li>
<li><tt>Session#checkPermission(String absPath, String actions)</tt></li>
+
+<li><tt>JackrabbitSession.hasPermission(String absPath, @Nonnull String... actions)</tt> (since Jackrabbit API 2.11.0 and Oak 1.4)</li>
</ul>
<p>The actions are expected to be a comma separated list of any of the following string constants:</p>
@@ -546,13 +548,37 @@
<li><tt>Session.ACTION_SET_PROPERTY</tt></li>
</ul>
+<p>And defined by Jackrabbit API the following additional actions (since Jackrabbit API 2.11.0):</p>
+
+<ul>
+
+<li><tt>JackrabbitSession.ACTION_ADD_PROPERTY</tt></li>
+
+<li><tt>JackrabbitSession.ACTION_MODIFY_PROPERTY</tt></li>
+
+<li><tt>JackrabbitSession.ACTION_REMOVE_PROPERTY</tt></li>
+
+<li><tt>JackrabbitSession.ACTION_REMOVE_NODE</tt></li>
+
+<li><tt>JackrabbitSession.ACTION_NODE_TYPE_MANAGEMENT</tt></li>
+
+<li><tt>JackrabbitSession.ACTION_VERSIONING</tt></li>
+
+<li><tt>JackrabbitSession.ACTION_LOCKING</tt></li>
+
+<li><tt>JackrabbitSession.ACTION_READ_ACCESS_CONTROL</tt></li>
+
+<li><tt>JackrabbitSession.ACTION_MODIFY_ACCESS_CONTROL</tt></li>
+
+<li><tt>JackrabbitSession.ACTION_USER_MANAGEMENT</tt></li>
+</ul>
<p><b>Note</b>: As of Oak 1.0 the these methods also handle the names of the permissions defined by Oak (see <tt>Permissions#getString(long permissions)</tt>).</p>
<p>See also section <a href="permission/permissionsandprivileges.html">Permissions vs Privileges</a> for a comparison of these permission checks and testing privileges on the <tt>AccessControlManager</tt>. </p>
<div class="section">
<div class="section">
<h5>Examples<a name="Examples"></a></h5>
<div class="section">
-<h6>Test if session has permission to add a new node<a name="Test_if_session_has_permission_to_add_a_new_node"></a></h6>
+<h6>Test if session has permission to add a new node (JCR API)<a name="Test_if_session_has_permission_to_add_a_new_node_JCR_API"></a></h6>
<p>Important: <tt>absPath</tt> refers to the node to be created</p>
<div class="source">
@@ -563,7 +589,17 @@ if (session.hasPermission("/content
}
</pre></div></div>
<div class="section">
-<h6>Test if session has permission to perform version operations<a name="Test_if_session_has_permission_to_perform_version_operations"></a></h6>
+<h6>Test if session has permission to perform version and lock operations (Jackrabbit API)<a name="Test_if_session_has_permission_to_perform_version_and_lock_operations_Jackrabbit_API"></a></h6>
+
+<div class="source">
+<pre>Node content = jrSession.getNode("/content");
+if (jrSession.hasPermission("/content", JackrabbitSession.ACTION_VERSIONING, JackrabbitSession.ACTION_LOCKING))) {
+ content.checkin();
+ session.save();
+}
+</pre></div></div>
+<div class="section">
+<h6>Test if session has permission to perform version operations (Oak SPI)<a name="Test_if_session_has_permission_to_perform_version_operations_Oak_SPI"></a></h6>
<div class="source">
<pre>Node content = session.getNode("/content");
@@ -703,6 +739,74 @@ if (session.hasPermission("/content
<li>regular properties: <tt>Permissions.MODIFY_PROPERTY</tt></li>
<li>non-existing properties: <tt>Permissions.ADD_PROPERTY</tt></li>
+</ul>
+<p><tt>ACTION_ADD_PROPERTY</tt>:</p>
+
+<ul>
+
+<li>access control content: <tt>Permissions.MODIFY_ACCESS_CONTROL</tt></li>
+
+<li>other properties: <tt>Permissions.ADD_PROPERTY</tt></li>
+</ul>
+<p><tt>ACTION_MODIFY_PROPERTY</tt>:</p>
+
+<ul>
+
+<li>access control content: <tt>Permissions.MODIFY_ACCESS_CONTROL</tt></li>
+
+<li>other properties: <tt>Permissions.MODIFY_PROPERTY</tt></li>
+</ul>
+<p><tt>ACTION_REMOVE_PROPERTY</tt>:</p>
+
+<ul>
+
+<li>access control content: <tt>Permissions.MODIFY_ACCESS_CONTROL</tt></li>
+
+<li>other properties: <tt>Permissions.REMOVE_PROPERTY</tt></li>
+</ul>
+<p><tt>ACTION_REMOVE_NODE</tt>:</p>
+
+<ul>
+
+<li>access control content: <tt>Permissions.MODIFY_ACCESS_CONTROL</tt></li>
+
+<li>regular nodes: <tt>Permissions.REMOVE_NODE</tt></li>
+</ul>
+<p><tt>ACTION_NODE_TYPE_MANAGEMENT</tt></p>
+
+<ul>
+
+<li><tt>Permissions.NODE_TYPE_MANAGEMENT</tt></li>
+</ul>
+<p><tt>ACTION_VERSIONING</tt></p>
+
+<ul>
+
+<li><tt>Permissions.VERSION_MANAGEMENT</tt></li>
+</ul>
+<p><tt>ACTION_LOCKING</tt></p>
+
+<ul>
+
+<li><tt>Permissions.LOCK_MANAGEMENT</tt></li>
+</ul>
+<p><tt>ACTION_READ_ACCESS_CONTROL</tt></p>
+
+<ul>
+
+<li><tt>Permissions.READ_ACCESS_CONTROL</tt></li>
+</ul>
+<p><tt>ACTION_MODIFY_ACCESS_CONTROL</tt></p>
+
+<ul>
+
+<li><tt>Permissions.MODIFY_ACCESS_CONTROL</tt></li>
+</ul>
+<p><tt>ACTION_USER_MANAGEMENT</tt></p>
+
+<ul>
+
+<li><tt>Permissions.USER_MANAGEMENT</tt></li>
</ul></div>
<div class="section">
<h4>Permissions for Different Operations<a name="Permissions_for_Different_Operations"></a></h4>
Modified: jackrabbit/site/live/oak/docs/security/permission/permissionsandprivileges.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/permission/permissionsandprivileges.html?rev=1770807&r1=1770806&r2=1770807&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/permission/permissionsandprivileges.html (original)
+++ jackrabbit/site/live/oak/docs/security/permission/permissionsandprivileges.html Tue Nov 22 07:39:19 2016
@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia at 2016-11-18
+ | Generated by Apache Maven Doxia at 2016-11-22
| Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20161118" />
+ <meta name="Date-Revision-yyyymmdd" content="20161122" />
<meta http-equiv="Content-Language" content="en" />
<title>Jackrabbit Oak - Permissions vs Privileges</title>
<link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -216,7 +216,7 @@
<ul class="breadcrumb">
- <li id="publishDate">Last Published: 2016-11-18</li>
+ <li id="publishDate">Last Published: 2016-11-22</li>
<li class="divider">|</li> <li id="projectVersion">Version: 1.6-SNAPSHOT</li>
@@ -545,41 +545,8 @@
<li><tt>absPath</tt> is an absolute path pointing to an existing or non-existing item (node or property)</li>
<li><tt>actions</tt> defines a comma-separated string (or string array respectively) of the actions defined on <tt>Session</tt> and <tt>JackrabbitSession</tt> (see below). With the default implementation also Oak internal permission names are allowed ( <i>Note:</i> permission names != privilege names)</li>
-</ul></div>
-<div class="section">
-<h4>Supported Actions<a name="Supported_Actions"></a></h4>
-
-<ul>
-
-<li><tt>Session.ACTION_READ</tt></li>
-
-<li><tt>Session.ACTION_ADD_NODE</tt></li>
-
-<li><tt>Session.ACTION_SET_PROPERTY</tt></li>
-
-<li><tt>Session.ACTION_REMOVE</tt></li>
-
-<li>
-<p><tt>JackrabbitSession.ACTION_ADD_PROPERTY</tt></p></li>
-
-<li><tt>JackrabbitSession.ACTION_MODIFY_PROPERTY</tt></li>
-
-<li><tt>JackrabbitSession.ACTION_REMOVE_PROPERTY</tt></li>
-
-<li><tt>JackrabbitSession.ACTION_REMOVE_NODE</tt></li>
-
-<li><tt>JackrabbitSession.ACTION_NODE_TYPE_MANAGEMENT</tt></li>
-
-<li><tt>JackrabbitSession.ACTION_VERSIONING</tt></li>
-
-<li><tt>JackrabbitSession.ACTION_LOCKING</tt></li>
-
-<li><tt>JackrabbitSession.ACTION_READ_ACCESS_CONTROL</tt></li>
-
-<li><tt>JackrabbitSession.ACTION_MODIFY_ACCESS_CONTROL</tt></li>
-
-<li><tt>JackrabbitSession.ACTION_USER_MANAGEMENT</tt></li>
-</ul></div>
+</ul>
+<p>See section <a href="../permission.html#oak_permissions">Permissions</a> for a comprehensive list and the mapping from actions to permissions.</p></div>
<div class="section">
<h4>Characteristics<a name="Characteristics"></a></h4>