View Javadoc

1   //
2   //  ========================================================================
3   //  Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
4   //  ------------------------------------------------------------------------
5   //  All rights reserved. This program and the accompanying materials
6   //  are made available under the terms of the Eclipse Public License v1.0
7   //  and Apache License v2.0 which accompanies this distribution.
8   //
9   //      The Eclipse Public License is available at
10  //      http://www.eclipse.org/legal/epl-v10.html
11  //
12  //      The Apache License v2.0 is available at
13  //      http://www.opensource.org/licenses/apache2.0.php
14  //
15  //  You may elect to redistribute this code under either of these licenses.
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  }