I'll be curious to see the answers.

JSPs are servlets.

For us, the common way would be for your non-JSP servlets to authenticate the request (and save the results in the request), and then your JSPs can check if the request has been authenticated before progressing further.  Of course, if it's just a login check, you can save the results of the authentication in the session, and when missing, redirect to your login.


On 8/16/18 10:19 AM, Berneburg, Cris J. - US wrote:
Due to security concerns and general fussiness on my part, I'd like to prevent 
users from requesting JSP pages directly, except for the login page.  I want 
all requests to be handled by servlets.  That way I can legitimately claim that 
all requests are being validated, input scrubbed, JSP's cannot be taken 
advantage of w/o their servlet chaperones being present, etc.

a. One way I read is by adding a <security-constraint> for each folder.  One use case is 
for JSP include files.  That looks possible but makes it seem like these are exceptions and not 
the rule.  I want "deny, deny, deny" to be the default and the one or 2 allowable JSP 
pages to be the exception.

b. Another way mentioned is by having most of the JSP files under the WEB-INF 
folder.  That way the users don't have access to the JSP's but the servlets do. 
 My understanding is a little wobbly here, because I can't conceptualize the 
virtual path for files under WEB-INF when sending a response.  (See line of 
code below.)  Also, that would require moving most of the JSP files.

request.getRequestDispatcher("folder/file.jsp"); // what about WEB-INF?
Is there a "smart" way of doing this?  Perhaps it would have been prudent to organize the 
JSP folders "properly" in the first place, but we're way beyond that now.

Got any comments, suggestions, advice?

Thanks.  :-)

--
Cris Berneburg
CACI Lead Software Engineer




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to