ePortal::ThePersistent::ExtendedACL - Extended Access Control Lists base class for persistent objects.

- NAME
- SYNOPSIS
- METHODS

- `initialize()`
- `xacl_where()`
- `xacl_check_read()`
- `restore_where()`

- AUTHOR

# NAME

ePortal::ThePersistent::ExtendedACL - Extended Access Control Lists base class for persistent objects.

# SYNOPSIS

ePortal::ThePersistent::ExtendedACL implements extended processing of ACL based on SQL queries.

Two attributes are mandatory for `ePortal::ThePersistent::ExtendedACL`:

     uid - user name of object owner
     xacl_read - read access to the object

# METHODS

## `initialize()`

Overloaded method. Adds ACL specific attributes `uid` and `xacl_read` to the object.

Additional parameters:

- xacl_uid_field
  Redefine standard `uid` attribute name to something another.

- xacl_read_field
  Redefine standard `xacl_read` attribute name to something another.

## `xacl_where()`

Construct SQL WHERE clause based on `uid` and `xacl_read` fields.

## `xacl_check_read()`

Dummy function. Returns True. Read access is restricted in SQL WHERE clause.

## `restore_where()`

Adds some WHERE conditions to comply with ACL.

# AUTHOR

Sergey Rusakov, <rusakov_sa@users.sourceforge.net>