MindTouch Developer Center > MindTouch Deki > API Reference > GET:pages/{pageid}/security

Overview

public. Retrieve page security info

Uri Parameters
NameTypeDescription
pageidstringeither an integer page ID, "home", or "=" followed by a double uri-encoded page title
Query Parameters
NameTypeDescription
redirectsint?If zero, do not follow page redirects.
Return Codes
NameValueDescription
BadRequest400Invalid input parameter or request body
Forbidden403Browse access to the page is required
NotFound404Requested page could not be found
Ok200The request completed successfully

Message Format

Output:

<security href="{uri}">
    <permissions.effective>
        <operations mask="{int}">{text}</operations> 
    </permissions.effective>
    <permissions.page>
        <operations mask="{int}">{text}</operations> 
        <restriction>{text}</restriction> 
    </permissions.page>
    <grants>
        <grant>
            <permissions>
                <operations mask="{int}">{text}</operations> 
                <role id="{int}" href="{uri}">{text}</role> 
            </permissions>
            <user id="{int}" href="{uri}">
                <nick>{text}</nick> 
                <username>{text}</username> 
                <email>{text}</email> 
            </user>
            <date.expires>{date}</date.expires> 
            <date.modified>{date}</date.modified> 
            <user.modifiedby id="{int}" href="{uri}">
                <nick>{text}</nick> 
                <username>{text}</username> 
                <email>{text}</email> 
            </user.modifiedby>
        </grant>
        <grant>
            <permissions>
                <operations mask="{int}">{text}</operations> 
                <role id="{int}" href="{uri}">{text}</role> 
            </permissions>
            <group id="{int}" href="{uri}">
                <name>{text}</name> 
            </group>
            <date.expires>{date}</date.expires> 
            <date.modified>{date}</date.modified> 
            <user.modifiedby id="{int}" href="{uri}">
                <nick>{text}</nick> 
                <username>{text}</username> 
                <email>{text}</email> 
            </user.modifiedby>
        </grant>
        ...
    </grants>
</security>

Implementation Notes

the permissions.page element indicates if there is a restriction on the page.  The grants section indicates permissions that have been granted to particular users or groups.  The permissions.effective element describes the page permissions effective for the current caller, which takes both page restriction and grants into account.

Currently defined page restrictions are:

  • Public: All users can read and edit
  • Semi-Public: All users can read, but only selected users can edit
  • Private: Only selected users can read and edit

Code Samples

The following code example retrieves the security info of the home page for the anonymous user:

Plug p = Plug.New("http://deki-hayes/@api/deki");
p.At("pages", "home", "security").Get();

Sample response indicating that a page restriction and grants have not been set on the home page.  The anonymous user can read the page, but not modify it:

<security href="http://deki-hayes/@api/deki/pages/29/security">
    <permissions.effective>
        <operations mask="15">LOGIN,BROWSE,READ,SUBSCRIBE</operations>
    </permissions.effective>
    <permissions.page>
        <operations mask="0"></operations>
    </permissions.page>
    <grants />
</security>
Tag page
You must login to post a comment.