1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package org.talika.tarsis.security;
24
25 import org.talika.tarsis.command.Command;
26
27 /**
28 * Interface that defines an authorizator component in Tarsis MVC Framework.<br>
29 * <br>
30 * Authorizator component is responsible of manage authorizations. It checks if a
31 * given <code>User</code> has authorization to access a given <code>Command</code>.
32 *
33 * @author Jose M. Palomar
34 * @version $Revision: 124 $
35 */
36 public interface Authorizator {
37
38 /**
39 * Checks if <code>User</code> has authorizations to access <code>Command</code>.
40 * If not throws a <code>ForbiddenAccessException</code>.
41 *
42 * @param user User user to be checked.
43 * @param command Command command to be checked.
44 * @throws ForbiddenAccessException if <code>User</code> has not authorization.
45 */
46 void authorize(User user, Command command)
47 throws ForbiddenAccessException;
48
49 /**
50 * Returns <code>true</code> if <code>Command</code> has access restrited.
51 *
52 * @param command Command command to be checked.
53 * @return boolean <code>true</code> if <code>Command</code> has access restrited.
54 */
55 boolean isRestricted(Command command);
56
57 }
58