package org.javaee7.jaspic.ejbpropagation.servlet; import java.io.IOException; import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.javaee7.jaspic.ejbpropagation.ejb.ProtectedEJB; /** * * @author Arjan Tijms * */ @WebServlet(urlPatterns = "/public/servlet-protected-ejb") public class PublicServletProtectedEJB extends HttpServlet { private static final long serialVersionUID = 1L; @EJB private ProtectedEJB protectedEJB; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String webName = null; if (request.getUserPrincipal() != null) { webName = request.getUserPrincipal().getName(); } String ejbName = protectedEJB.getUserName(); response.getWriter().write("web username: " + webName + "\n" + "EJB username: " + ejbName + "\n"); boolean webHasRole = request.isUserInRole("architect"); boolean ejbHasRole = protectedEJB.isUserArchitect(); response.getWriter().write( "web user has role \"architect\": " + webHasRole + "\n" + "EJB user has role \"architect\": " + ejbHasRole + "\n"); } }