If your JSPs are in a public document root, there is nothing (necessarily) preventing a user from accessing them without going through a controller servlet, via an unintended (shortcut) path. Use the blank auth-constraint element in web.xml to deny direct access to the *.jsp web resource collection. Then make your intended paths end without extensions or with some other extension other than ".jsp". Now the only way to view your JSPs is to go through the controller.

Erik



David Suarez wrote:

I may be mis-reading the question but...  why hide your jsp's from
direct access?  The actions should definitely check for security and it
makes sense there but if your jsp's populate information from the form,
wouldn't the jsp be empty/unusable anyway?..

The approach above is what I have used.  Only protect the forms/actions.
Empty jsp's I don't care about.  Let me know why you think that this is
bad security practice.

Regards...djsuarez

-----Original Message-----
From: Jim Barrows [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 25, 2004 4:49 PM
To: Struts Users Mailing List
Subject: RE: Question about authentication






-----Original Message-----
From: Steven Leija [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 25, 2004 2:15 PM
To: Struts Users Mailing List
Subject: RE: Question about authentication


I'm currently running into the same situation. If you added to your web-inf directory. Do you just create a dir called "jsp"? and treat that as your root? Is there any sort of special path or configuration needed for this? I'm using Tomcat 5.0.



No special configuration needed you forward to /WEB-INF/jsp/yourpage.jsp. Any Servlet or JSP can access anything in WEB-INF. The only thing to remember is you cannot type in the jsp from the browser, you have to go through an action. Which is what ForwardAction is for :)

If you don't like this, you could incorporate container managed security
to restrict all *.jsp to a dummy role.





Thanks,

Steven




Hi I am going to use custom tags for checking access to Jsp, if no user/bean bean in session, then direct to login page.

And I am also going to check admin bean again in Action before invoking life cycle methods on business beans.

Now am I over kill with authentication??

Way overkill. Put your jsps in WEB-INF, and no one can get at them. If your container is new enough to handle filters, use them instead. Otherwise, use a BaseSecurityAction that overrides execute, does the check and then calls whateverYouWantForYourActualExecutionCode( same params as execute).

> > I mean, if all JSP pages that require user/admin > access has custom tag that check for access > at top, then i don't really need to check > for authentication in Action classess.

You shouldn't allow access to your jsp pages.

> > But it may also be good practice to double check > for whatever reason. > > Just curious what's the usual practice u ppl do. > > Thanks > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]









---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to