1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (https://nette.org)
5: *
6: * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
7: *
8: * For the full copyright and license information, please view
9: * the file license.txt that was distributed with this source code.
10: */
11:
12: namespace Nette\Security;
13:
14: use Nette;
15:
16:
17:
18: /**
19: * Represents conditional ACL Rules with Assertions.
20: *
21: * @author David Grudl
22: */
23: interface IPermissionAssertion
24: {
25: /**
26: * Returns true if and only if the assertion conditions are met.
27: *
28: * This method is passed the ACL, Role, Resource, and privilege to which the authorization query applies. If the
29: * $role, $resource, or $privilege parameters are Permission::ALL, it means that the query applies to all Roles,
30: * Resources, or privileges, respectively.
31: *
32: * @param Permission
33: * @param string role
34: * @param string resource
35: * @param string|NULL privilege
36: * @return bool
37: */
38: public function assert(Permission $acl, $roleId, $resourceId, $privilege);
39: }
40: