myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Kienenberger" <mkien...@gmail.com>
Subject Re: Passing passwd & login
Date Thu, 07 Dec 2006 17:16:54 GMT
Better yet would be to set loginBean as a managed property for any
beans that use it.   Then you don't need to write any code.

On 12/7/06, tszpinda@gmail.com <tszpinda@gmail.com> wrote:
> I see, thats pretty good idea, will do like you wrote, I'm quite lazy in
> repeating the code, so that solution is for me :)
>
> Thanks everyone for help :)
>
> Tomek
>
> Jeff Bischoff wrote:
> > Tomek,
> >
> > > session.setAttribute("USER", loginName);
> >
> > You shouldn't need to do direct session/request manipulation as long
> > as you have a facescontext.
> >
> > I also don't like including all this FacesContext/ValueBinding code in
> > every managed bean. Too much clutter.
> >
> > Better is a utility class that performs such lookups between managed
> > beans:
> >
> > public class WebLookup {
> >
> >     /**
> >      * Look up a managed bean by JSP-EL value-binding expression
> >      * @param ref a value-binding expression to lookup
> >      * @return the managed bean referenced by the expression
> >      */
> >     public static Object getManagedBean(String ref) {
> >         // Find or create the web-tier data object
> >         // ref like "#{loginBean}"
> >         // would return the LoginBean
> >         FacesContext context = FacesContext.getCurrentInstance();
> >         ValueBinding binding =
> > context.getApplication().createValueBinding(ref);
> >         return binding.getValue(context);
> >     }
> >
> >     public static LoginBean getLoginBean() {
> >         return (LoginBean )getManagedBean("#{loginBean}");
> >     }
> >
> >     ...
> >
> > }
> >
> > Regards,
> >
> > Jeff Bischoff
> > Kenneth L Kurz & Associates, Inc.
> >
> > tszpinda@gmail.com wrote:
> >>    Hi,
> >>       I'm wondering what solution for that you got boys:
> >>         - how should I pass the password and the user login through
> >> beans, as I need both of them to retrieve data form database.
> >>
> >>    Is good enough to have loginBean.java and then on each bean which
> >> needs connect to db do something like:
> >>        FacesContext context = FacesContext.getCurrentInstance();
> >>        ValueBinding vb =
> >> context.getApplication().createValueBinding("#{loginBean}");
> >>
> >>        u = ((UserBean) vb.getValue(context));
> >>        userName = u.getLoginName();
> >>        passwd = u.getPasswd();
> >>      Or better solution will be put user and password to the session
> >> like:
> >>            FacesContext fc = FacesContext.getCurrentInstance();
> >>            HttpSession session = (HttpSession)
> >> fc.getExternalContext().getSession(false);
> >>            session.setAttribute("USER", loginName);
> >>      and then retrieve it when necessery:
> >>            HttpSession session = (HttpSession)
> >> context.getExternalContext().getSession(false);
> >>            session.getAttribute("USER");
> >>
> >>   Thanks for any suggestion!
> >>
> >> Tomek
> >>
> >>
> >>
> >
> >
> >
>
>

Mime
View raw message