1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (http://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: * @package Nette\Security
11: */
12:
13:
14:
15: /**
16: * Performs authentication.
17: *
18: * @author David Grudl
19: * @package Nette\Security
20: */
21: interface IAuthenticator
22: {
23: /** Credential key */
24: const USERNAME = 0,
25: PASSWORD = 1;
26:
27: /** Exception error code */
28: const IDENTITY_NOT_FOUND = 1,
29: INVALID_CREDENTIAL = 2,
30: FAILURE = 3,
31: NOT_APPROVED = 4;
32:
33: /**
34: * Performs an authentication against e.g. database.
35: * and returns IIdentity on success or throws NAuthenticationException
36: * @param array
37: * @return IIdentity
38: * @throws NAuthenticationException
39: */
40: function authenticate(array $credentials);
41:
42: }
43: