Thank you very much for your time Erik, i'll try to
get some study around it!!!

I don't know if it's possible (probably not, i
know...) , but if you could send me your LogonAction
class (and associated stuff) would awsome! But i you
can't, that's allrigth, i completely understand!

Regards,
Leandro.



 --- Erik Weber <[EMAIL PROTECTED]> escreveu: 
> Sorry, by "hand-rolled" I just mean one that is
> written specifically for 
> the application (written by you).
> 
> The general idea is something like this:
> 
> Make a BaseAction class.
> 
> Implement a checkLogin method in the BaseAction
> class that looks in the 
> current request's HttpSession for a "User" object,
> which you would have 
> placed into the session in your LoginAction.
> Implement a checkPermission method in the BaseAction
> class that looks in 
> the current HttpSession for a role associated with
> the user (maybe this 
> is part of the "User" object) that matches the role
> required for the 
> current request (or you can go as fine-grained as
> you want, with many 
> different permissions to check for a single request)
> to be granted.
> 
> All your Action classes extend the BaseAction class.
> They can invoke the 
> checkLogin and/or the checkPermission methods at the
> beginning of the 
> execute method to decide whether/how to proceed.
> 
> Write a LoginAction class that sets the "User"
> action, along with 
> permissions, roles, etc., whatever else is needed in
> your checkLogin and 
> checkPermission methods, in the session after login
> has succeeded (you 
> have taken the entered username and password and
> matched them 
> successfully against a username and password
> combination in your 
> database -- typically in a USERS table).
> 
> Write a Logout Action that invalidates the current
> session.
> 
> Alternatively, you could check the login and the
> permissions the same 
> way, but in a sublass of the Struts
> RequestProcessor, or in a Servlet 
> Filter, instead of in a BaseAction class.
> 
> If you want to go with container-managed security
> and you can use 
> Tomcat, try this (you should probably read it
> anyway).
> 
>
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/realm-howto.html
> 
> I also suggest you read the security section of the
> J2EE tutorial, and 
> the security sections of the JSP and Servlet
> specifications.
> 
> If you go with container-managed security, it's real
> easy to allow/deny 
> entire JSPs, but you still may need to implement
> finer-grained 
> permissions checks on your own if you need to, for
> example, show/hide 
> links on a page based on permissions.
> 
> Erik
> 
> Leandro Melo wrote:
> 
> >Erik,
> >i don't quite understand what you call a
> hand-rolled
> >java component (maybe because of my english).
> >Anyway, it seems to me that you're not using JAAS
> to
> >completely control application's security, are u?
> >I don't know if it possible, but if so, would you
> post
> >your setup and basic classes?
> >I'm very very new at security stuff...
> >Anyway, i cleared out a lot of things for me.
> >
> >Thanks,
> >Leandro.
> >
> >
> > --- Erik Weber <[EMAIL PROTECTED]>
> escreveu: 
> >  
> >
> >>I don't really consider myself an expert here, but
> I
> >>dare say that there 
> >>are a lot of webapps deployed out there using
> >>programmatic (hand-rolled) 
> >>security successfully. I have used the approach
> with
> >>success. What 
> >>exactly the advantages are to using
> >>container-managed security I am not 
> >>able to fully deduce (except for the obvious --
> it's
> >>nice to declare 
> >>stuff in web.xml in a standardized way -- and that
> >>perhaps it might make 
> >>Servlets a *little* more portable if you wanted to
> >>use them among 
> >>different apps). But then again, I haven't had to
> >>take on a project yet 
> >>where the environment was extremely complicated,
> >>when it came to how 
> >>users and permissions were managed (typically I
> see
> >>the same tried and 
> >>trusted setup -- USER, GROUP, ROLES and
> PERMISSIONS
> >>tables in some 
> >>central database, and some hand-rolled Java
> >>component, used to authorize 
> >>the current request, that is invoked in some
> >>"common" area, such as a 
> >>Servlet Filter -- or, in Struts, a base Action
> class
> >>or a custom 
> >>RequestProcessor). It seems like JAAS is still at
> an
> >>immature stage 
> >>perhaps, or at least the state of documenation
> about
> >>it is.
> >>
> >>The other route it seems you could go is to use a
> >>container-managed 
> >>login as you suggest, and enjoy using the methods
> >>such as 
> >>request.isUserInRole instead of invoking security
> >>methods on a 
> >>hand-rolled component, but I think you will have
> to
> >>give up the 
> >>JBoss/Tomcat stack to do this for now (someone
> >>please correct me if I am 
> >>wrong), because I think there is a security
> >>integration problem there, 
> >>as I described earlier. I'm guessing Tomcat as
> stand
> >>alone might be a 
> >>good way to go though. I have not done this and
> >>couldn't say whether it 
> >>is "common and usual".
> >>
> >>I have tried to write my role-checking methods so
> >>that in the future if 
> >>I port an application to JAAS I can just refactor
> >>them to invoke the 
> >>standard methods instead of my own. But like I
> say,
> >>I'm far from an 
> >>expert in this area.
> >>
> >>Hope that helps,
> >>
> >>Erik
> >>
> >>Leandro Melo wrote:
> >>
> >>    
> >>
> >>>So Erik, is it a common and usual aproach to do
> >>>      
> >>>
> >>login
> >>    
> >>
> >>>outside of Struts (ordinary jsps), and then use
> >>>      
> >>>
> >>Struts
> >>    
> >>
> >>>afterwards???
> >>>
> >>>
> >>>--- Erik Weber <[EMAIL PROTECTED]>
> >>>      
> >>>
> >>escreveu: 
> >>    
> >>
> >>> 
> >>>
> >>>      
> >>>
> >>>>Leandro, search the archives of this List for
> >>>>"JAAS". I participated in 
> 
=== message truncated === 


        
        
                
_______________________________________________________
Yahoo! Acesso Grátis - navegue de graça com conexão de qualidade! 
http://br.acesso.yahoo.com/

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

Reply via email to