head	1.4;
access;
symbols;
locks; strict;
comment	@# @;


1.4
date	2008.01.22.03.21.27;	author TWikiContributor;	state Exp;
branches;
next	1.3;

1.3
date	2007.01.16.04.11.58;	author TWikiContributor;	state Exp;
branches;
next	1.2;

1.2
date	2006.10.25.00.21.56;	author TWikiContributor;	state Exp;
branches;
next	1.1;

1.1
date	2006.02.01.12.01.24;	author TWikiContributor;	state Exp;
branches;
next	;


desc
@new-topic
@


1.4
log
@buildrelease
@
text
@---+ Package =TWiki::Access=

A singleton object of this class manages the access control database.


%TOC%

---++ ClassMethod *new* <tt>($session)</tt>

Constructor.



---++ ObjectMethod *finish* <tt>()</tt>
Break circular references.



---++ ObjectMethod *getReason* <tt>() -> $string</tt>

Return a string describing the reason why the last access control failure
occurred.



---++ ObjectMethod *checkAccessPermission* <tt>($action,$user,$text,$meta,$topic,$web) -> $boolean</tt>

Check if user is allowed to access topic
   * =$action=  - 'VIEW', 'CHANGE', 'CREATE', etc.
   * =$user=    - User id (*not* wikiname)
   * =$text=    - If undef or '': Read '$theWebName.$theTopicName' to check permissions
   * =$meta=    - If undef, but =$text= is defined, then metadata will be parsed from =$text=. If defined, then metadata embedded in =$text= will be ignored. Always ignored if =$text= is undefined. Settings in =$meta= override * Set settings in plain text.
   * =$topic=   - Topic name to check, e.g. 'SomeTopic' *undef to check web perms only)
   * =$web=     - Web, e.g. 'Know'
If the check fails, the reason can be recoveered using getReason.


@


1.3
log
@buildrelease
@
text
@d8 1
a8 1
---++ ClassMethod *new* <tt>()</tt>
d10 1
a10 2
Construct a new singleton object to manage the permissions
database.
d14 2
a15 4
---++ ObjectMethod *permissionsSet* <tt>($web) -> $boolean</tt>

Are there any security restrictions for this Web
(ignoring settings on individual pages).
d30 1
a30 1
   * =$user=    - User object
@


1.2
log
@buildrelease
@
text
@d30 1
@


1.1
log
@buildrelease
@
text
@d29 1
a29 1
---++ ObjectMethod *checkAccessPermission* <tt>($action,$user,$text,$topic,$web) -> $boolean</tt>
d34 1
@
