## Apache Zeta Components Manual :: Docs For Class ezcWebdavAuthorizer

### Webdav::ezcWebdavAuthorizer

### Interface ezcWebdavAuthorizer

Interface for classes providing authorization.

This interface must be implemented by classes the provide authorization to an ezcWebdavBackend. A back end will call the authorize() method for each path that is affected by request.

Source for this file: /Webdav/src/interfaces/authorizer.php

Version: | //autogentag//

### Descendants

Child Class | Description
--- | ---
ezcWebdavLockAuthorizer | Interface to be implemented by authorization classes for the lock plugin.

### Constants

`ACCESS_READ = 1` | User desires read access.
`ACCESS_WRITE = 2` | User desires write access.

### Method Summary

public bool | `authorize( $user , $path , [ $access = self::ACCESS_READ] )` Checks authorization of the given $user to a given $path.

### Methods

#### authorize

bool authorize( string $user , string $path , [int $access = self::ACCESS_READ] )

Checks authorization of the given $user to a given $path.

This method checks if the given $user has the permission $access to the resource identified by $path. The $path is the result of a translation by the servers ezcWebdavPathFactory from the request URI.

The $access parameter can be one of

- ezcWebdavAuthorizer::ACCESS_WRITE
- ezcWebdavAuthorizer::ACCESS_READ

The implementation of this method must only check the given $path, but MUST not check descendant paths, since the back end will issue dedicated calls for such paths. In contrast, the algoritm MUST ensure, that parent permission constraints of the given $paths are met.

Examples: Permission is rejected for the paths "/a", "/b/beamme" and "/c/connect":

1. <?php
2. var_dump ($auth-> authorize ('johndoe','/a') );// false
3. var_dump ($auth-> authorize ('johndoe','/b') );// true
4. var_dump ($auth-> authorize ('johndoe','/b/beamme') );// false
5. var_dump ($auth-> authorize ('johndoe','/c/connect/some/deeper/path') );// false
6. ?>

##### Parameters:

Name | Type | Description
--- | --- | ---
`$user` | string |
`$path` | string |
`$access` | int |

Documentation generated by phpDocumentor 1.4.3