atomsite.net

The AtomPub server for .NET

Roles

Posted in Technical by JarrettV on 3/17/2009 11:47:00 PM - CST

AtomSite has five roles. Administrators, authors, contributors, and users are authenticated. The fifth role is anonymous. Each role has a set of actions that can be performed depending on their function.

The below table describes the default role matrix supplied out of the box. This matrix can be customized at three different levels: service, workspace, collection.

Function Action Admin Author Contrib User Anon
AtomPub Get Service Doc check check check    
Update Service Doc check check      
Get Collection Feed check check check    
Create Entry/Media check check      
Get Entry/Media check check check    
Update Entry/Media check check check    
Delete Entry/Media check check      
Peek Entry/Media check check check check check
AtomSite Get Feed check check check check check
Get Annotations check check check check check
Annotate check check check check check
Approve Entry/Media check check      
Approve Annotation check check check    
Rate Entry/Media check check check check check

The green check means full access across all workspaces and collections. The yellow check denotes restricted access to just authorized workspace/collection.

The <app:service>, <app:workspace>, and <app:collection> elements in the service document allow a <svc:roleMatrix> extension element.  The following code shows an example of the above default roleMatrix element:

<svc:roleMatrix xmlns:svc='http://atomsite.net/info/Service'>
  <!-- AtomPub Actions-->
  <svc:roleAction name='GetServiceDoc'        admin='True'  author='True'  contrib='True'  user='False' anon='False'/>
  <svc:roleAction name='UpdateServiceDoc'     admin='True'  author='True'  contrib='False' user='False' anon='False'/>
  <svc:roleAction name='GetCollectionFeed'    admin='True'  author='True'  contrib='True'  user='False' anon='False'/>
  <svc:roleAction name='CreateEntryOrMedia'   admin='True'  author='True'  contrib='False' user='False' anon='False'/>
  <svc:roleAction name='GetEntryOrMedia'      admin='True'  author='True'  contrib='True'  user='False' anon='False'/>
  <svc:roleAction name='UpdateEntryOrMedia'   admin='True'  author='True'  contrib='True'  user='False' anon='False'/>
  <svc:roleAction name='DeleteEntryOrMedia'   admin='True'  author='True'  contrib='False' user='False' anon='False'/>
  <svc:roleAction name='PeekEntryOrMedia'     admin='True'  author='True'  contrib='True'  user='True'  anon='True'/>

  <!-- Additional Actions -->
  <svc:roleAction name='GetFeed'              admin='True'  author='True'  contrib='True'  user='True'  anon='True'/>
  <svc:roleAction name='GetAnnotations'       admin='True'  author='True'  contrib='True'  user='True'  anon='True'/>
  <svc:roleAction name='Annotate'             admin='True'  author='True'  contrib='True'  user='True'  anon='True'/>
  <svc:roleAction name='ApproveEntryOrMedia'  admin='True'  author='True'  contrib='True'  user='False' anon='False'/>
  <svc:roleAction name='ApproveAnnotation'    admin='True'  author='True'  contrib='True'  user='False' anon='False'/>
  <svc:roleAction name='RateEntryOrMedia'     admin='True'  author='True'  contrib='True'  user='True'  anon='True'/>
</svc:roleMatrix>
© Copyright 2010 Powered by AtomSite 1.3.1.0