package org.javaee7.jacc.contexts.servlet;
import java.io.IOException;
import javax.security.jacc.PolicyContext;
import javax.security.jacc.PolicyContextException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Arjan Tijms
*
*/
@WebServlet(urlPatterns = "/requestServlet")
public class RequestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("jaccTest", "true");
try {
HttpServletRequest requestFromPolicy = (HttpServletRequest) PolicyContext.getContext("javax.servlet.http.HttpServletRequest");
if (requestFromPolicy != null) {
response.getWriter().print("Obtained request from context.");
if ("true".equals(requestFromPolicy.getAttribute("jaccTest"))) {
response.getWriter().print("Attribute present in request from context.");
}
if ("true".equals(requestFromPolicy.getParameter("jacc_test"))) {
response.getWriter().print("Request parameter present in request from context.");
}
}
} catch (PolicyContextException e) {
e.printStackTrace(response.getWriter());
}
}
}