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