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("<HEAD><link rel=\"stylesheet\" type=\"text/css\"  href=\"../stylesheet.css\"/></HEAD>");
44          writer.println("<h1>@ServletSecurity</h1>");
45          writer.println("<body>");
46          writer.println("<pre>");
47          writer.println("@ServletSecurity");
48          writer.println("public class SecuredServlet");
49          writer.println("</pre>");
50          writer.println("<p><b>Result: <span class=\"pass\">PASS</span></b></p>");
51          String context = getServletConfig().getServletContext().getContextPath();
52          if (!context.endsWith("/"))
53              context += "/";
54          writer.println("<p><A HREF=\""+context+"logout.jsp\">Logout</A></p>");
55          writer.println( "</body>");
56          writer.println( "</html>");
57          writer.flush();
58          writer.close();
59      }
60  }