Skip to content
benel edited this page Nov 16, 2014 · 22 revisions

Rules (in design)

Examples

AGORAE, DOLOMITE (passive)

[{object:"*", verb:"*"}]

ARGOS (read-only + community + public)

[{object:"/e171d92c4dbce38435d63c5cf309c897", verb:["GET", "HEAD"]},
{object:"*", verb:"*", subject:"*"},
{object:"*", verb:["GET", "HEAD"]}]

CASSANDRE (private + shared + community + public)

[{object:"/text/IF14/cd48c7fdc83cb4ab1a61f574a6cc7f80", verb:"*", subject:"sophie"},
{object:"/text/IF14/cd48c7fdc83cb4ab1a61f574a6cc7f80", verb:["GET","HEAD"], subject:"aurelien"},
{object:"*", verb:"*", subject:"*"},
{object:"*", verb:["GET", "HEAD"]}]

Specification

Passive (or anonymous)

verb:"*", subject:null

Community

verb:"*", subject:"*"

Implied:

  • Same object, same verb, no subject -> 401

Public

verb:["GET", "HEAD"], subject:null

Read only

object:"{uri}", verb:["GET", "HEAD"], subject:null

Note: precedence of object:"{uri}" over object:"*" rules.

Implied:

  • Same object, other verbs (write) -> 405

Private

verb:"*", subject:"{login}"

Implied:

  • Same object, same verb, other subject -> 401

Shared

verb:["GET","HEAD"], subject:"{login}"

Implied:

  • Same object, same verb, other subject -> 401
  • Same object, other verb, same subject -> 403