1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.embedded;
20
21 import java.util.Collections;
22 import java.util.HashSet;
23 import java.util.Set;
24
25 import org.eclipse.jetty.security.ConstraintMapping;
26 import org.eclipse.jetty.security.ConstraintSecurityHandler;
27 import org.eclipse.jetty.security.HashLoginService;
28 import org.eclipse.jetty.security.LoginService;
29 import org.eclipse.jetty.security.authentication.BasicAuthenticator;
30 import org.eclipse.jetty.server.Server;
31 import org.eclipse.jetty.util.security.Constraint;
32
33 public class SecuredHelloHandler
34 {
35 public static void main(String[] args) throws Exception
36 {
37 Server server = new Server(8080);
38
39 LoginService loginService = new HashLoginService("MyRealm","src/test/resources/realm.properties");
40 server.addBean(loginService);
41
42 ConstraintSecurityHandler security = new ConstraintSecurityHandler();
43 server.setHandler(security);
44
45 Constraint constraint = new Constraint();
46 constraint.setName("auth");
47 constraint.setAuthenticate( true );
48 constraint.setRoles(new String[]{"user", "admin"});
49
50 ConstraintMapping mapping = new ConstraintMapping();
51 mapping.setPathSpec( "/*" );
52 mapping.setConstraint( constraint );
53
54 Set<String> knownRoles = new HashSet<String>();
55 knownRoles.add("user");
56 knownRoles.add("admin");
57
58 security.setConstraintMappings(Collections.singletonList(mapping), knownRoles);
59 security.setAuthenticator(new BasicAuthenticator());
60 security.setLoginService(loginService);
61 security.setStrict(false);
62
63 HelloHandler hh = new HelloHandler();
64
65 security.setHandler(hh);
66
67 server.start();
68 server.join();
69 }
70 }