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 com.acme;
20  
21  import java.io.IOException;
22  import java.io.PrintWriter;
23  
24  import javax.servlet.ServletException;
25  import javax.servlet.annotation.HttpConstraint;
26  import javax.servlet.annotation.ServletSecurity;
27  import javax.servlet.annotation.WebServlet;
28  import javax.servlet.http.HttpServlet;
29  import javax.servlet.http.HttpServletRequest;
30  import javax.servlet.http.HttpServletResponse;
31  
32  @WebServlet(urlPatterns="/sec/*")
33  @ServletSecurity(@HttpConstraint(rolesAllowed="admin"))
34  public class SecuredServlet extends HttpServlet 
35  {
36  
37  
38      protected void doPost(HttpServletRequest req, HttpServletResponse resp)
39      throws ServletException, IOException 
40      {
41          PrintWriter writer = resp.getWriter();
42          writer.println( "<html>");
43          writer.println( "<body>");
44          writer.println("<h1>@ServletSecurity</h2>");
45          writer.println("<pre>");
46          writer.println("@ServletSecurity");
47          writer.println("public class SecuredServlet");
48          writer.println("</pre>");
49          writer.println("<br/><b>Result: "+true+"</b>");
50          String context = getServletConfig().getServletContext().getContextPath();
51          if (!context.endsWith("/"))
52              context += "/";
53          writer.println("<p><A HREF=\""+context+"logout.jsp\">Logout</A></p>");
54          writer.println( "</body>");
55          writer.println( "</html>");
56          writer.flush();
57          writer.close();
58      }
59  }