You do not need container managed security if you are not interested in URL based security. So for view only security, go ahead and use a phase listener approach. FYI, you will have to implement your own method of authentication (403 or form based).
On 11/7/06, Jeff Bischoff <[EMAIL PROTECTED]> wrote:
Andrew, My responses are inline: Andrew Robinson wrote: > I ended up using a servlet filter so that I can protect all resources, > not just JSF. The phase listener approach was fine for securing JSF > pages, but not CSS, JS, PNG, etc. files. So I decided to move my code > out of the phase listener and add it to a servlet filter instead. > Aha! That explains it. Well, I'm not much concerned about my static resources. > That takes care of URL security, but for JSF security I leveraged > JBoss-Seam. I created new annotations for security permissions that I > ensure that when a managed bean is accessed, the current user is in > the correct role. That way, the view is not secured per-say, but > instead the business code is secure. Because really, the view file > contains no proprietary information, the data from the managed beans > is the sensitive data. > > Although non-standard, it has fit our needs quite well. > Sounds like what Dominik is also doing with annotations. Of course you are right, the model is really what you want to protect, more than the view. > If you wanted > to secure JSF views, you could combine container managed (or a custom > servlet filter) for static resources (CSS, etc.) and use a phase > listener to secure views. > > The major issue with using a servlet filter in securing a view is that > the view is created after the post, so that the current URL does not > equal the current view necessarily. Thus securing on URL doesn't > necessarily secure the correct JSF view. Hence why a phase listener > would be better for security JSF views. > Hmmm. If my main concern is simply to secure JSF views, perhaps I can get away with just a phase listener? The article I mentioned before intregated a phase listener with container-managed security. Since I'm not already using container security, should I just skip that and use the phase listener standalone? I can see your dislike for this container-managed security spec. ;) > If you are insterested in my approach of using Seam, check out: > http://docs.jboss.com/seam/latest/reference/en/html/concepts.html#d0e2635 > Indeed, I am very interested in using Seam! Unfortunately, my current project is much too far along at this point. We kept postponing the decision about page-level authorization because we didn't know which approach was better. > > > On 11/7/06, Jeff Bischoff <[EMAIL PROTECTED]> wrote: >> Andrew, >> >> I was curious to see what you ended up using. I saw some comments >> previously, and in the mail archives, that made me think you were trying >> the phase listener approach. (See [1] and [2]) If so, how did that end >> up for you? What prompted you to move to a servlet filter instead? Did >> you run into any major issues? >> >> [1] >> http://www.nabble.com/NavigationHandler-%2B-Security-tf2081383.html#a5745371 >> >> [2] >> http://www.nabble.com/obtaining-%22real%22-url-after-navigation-rules-tf692306.html#a1827241 >> >> >> Regards, >> >> Jeff Bischoff >> Kenneth L Kurz & Associates, Inc. >> >> Andrew Robinson wrote: >> > For my company, I wrote our own custom servlet filter for security. We >> > did not want to introduce Spring into the framework so that ruled out >> > acegi. Container managed security in J2EE is a horrible specification >> > and does not fit well with JSF at all (not enough ways to customize it >> > and it only works on URLs, not view IDs). >> > >> > I'd like to see Sun address security for J2EE that is JDK 1.5 enhanced >> > (annotation support in JSF backing beans for example) and is designed >> > for JSF compatibility. >> > >> > On 11/3/06, Jeff Bischoff <[EMAIL PROTECTED]> wrote: >> >> Greetings Colleagues, >> >> >> >> I have often wondered what the majority of you are using for >> >> authentication and authorization in your non-public websites. Over the >> >> last year on this mailing list, I have seen bits and scraps of >> >> discussion on this topic. Most often, I hear mention of solutions like >> >> container-managed security and phase listeners. Sometimes custom >> >> navigation-handlers or servlet filters get mentioned too. Cant' say >> I've >> >> quite seen evidence of any consensus on which of these is >> preferred, so >> >> I'm interested to hear your thoughts. >> >> >> >> I have come across this article [1] which offers an approach (and some >> >> source code) to authorization in JSF. What are your opinions on this >> >> approach? Would you consider this and similar approaches to be best >> >> practice? What other alternatives can you recommend (from experience)? >> >> >> >> I will post my specific requirements for my security search as a reply >> >> to this post, so as not to narrow the overall discussion. >> >> >> >> [1] http://java.sys-con.com/read/250254_1.htm >> >> >> >> Regards, >> >> >> >> Jeff Bischoff >> >> Kenneth L Kurz & Associates, Inc. >> >> >> >> >> >> >> > >> > >> > >> >> >> > > >

