myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ignicolist <ignicol...@gmail.com>
Subject Re: JSF Authentication
Date Wed, 08 Aug 2007 14:38:26 GMT

Tks for the help. i will try this aproach.


Anton Gavazuk wrote:
> 
> My approach - maybe you will find some errors.
> 
> Simple JSF Bean
> public class LoginBean extends BaseBean {
> 
>     private String login;
>     private String password;
>     private String lang;
> 
>     public String getLogin() {
>         return login;
>     }
> 
>     public void setLogin(final String login) {
>         this.login = login;
>     }
> 
>     public String getPassword() {
>         return password;
>     }
> 
>     public void setPassword(final String password) {
>         this.password = password;
>     }
> 
>     public String getLang() {
>         return lang;
>     }
> 
>     public void setLang(final String lang) {
>         this.lang = lang;
>     }
> 
>     /**
>      *
>      * @return
>      */
>     public String loginProcess() {
>         log.debug("loginProcess()");
>         String result = "error";
>         try {
>             ServiceLocator loc = ServiceLocator.getInstance();
>             IUserManager man = (IUserManager) loc
>                     .getObject(ServiceLocator.USER_MANAGER);
>             SystemUser user = man
>                     .loginUser(this.getLogin(), this.getPassword());
>             CurrentUserInfoBean cur = getCurrentUser();
> 
>             cur.setUserLogin(user.getLogin());
>             cur.setUserId(user.getId());
>             cur.setCurrentHotel(man.getLastHotel(user.getId()).getId());
>             cur.setWhenLoggedIn(new Date());
>             return "success";
> 
>         } catch (Exception ex) {
>             log.error(ex);
>             addLoginNotFoundMessage();
>         }
>         return result;
>     }
> 
> Snippet from BaseBean
> 
>    public CurrentUserInfoBean getCurrentUser() {
>         log.debug("getCurrentUser()");
>         Object o =
> getApplication().createValueBinding("#{currentUserInfo}")
>                 .getValue(getFacesContext());
>         if (o == null) {
>             CurrentUserInfoBean bean = new CurrentUserInfoBean();
>             updateCurrentUserInfoBean(bean);
>         }
>         return (CurrentUserInfoBean) getApplication().createValueBinding(
>                 "#{currentUserInfo}").getValue(getFacesContext());
>     }
> 
>     /**
>      *
>      * @param bean
>      */
>     public void updateCurrentUserInfoBean(final CurrentUserInfoBean bean)
> {
>         log.debug("updateCurrentUserInfoBean() param :" + bean);
>        
> getApplication().createValueBinding("#{currentUserInfo}").setValue(
>                 getFacesContext(), bean);
>     }
> 
> And faces-config.xml
> <managed-bean>
>         <managed-bean-name>currentUserInfo</managed-bean-name>
>         <managed-bean-class>com.hms.view.bean.session.CurrentUserInfoBean
> </managed-bean-class>
>         <managed-bean-scope>session</managed-bean-scope>
>     </managed-bean>
> 
> 
> 
> How I use PhaseListener
> 
> public void afterPhase(PhaseEvent phaseEvent) {
>         log.debug("AfterPhase working");
>         FacesContext fc = phaseEvent.getFacesContext();
>         boolean loginPage =
> fc.getViewRoot().getViewId().lastIndexOf("login")
>> -1 ? true
>                 : false;
>         if (!loginPage && !SessionUtils.isUserLoggedIn()) {
>             log.debug("User is not logged - redirecting to login page");
>             NavigationHandler nh = fc.getApplication
> ().getNavigationHandler();
>             nh.handleNavigation(fc, null, "notLogged");
>         } else {
>             log.debug("User is logged in - go to page "
>                     + fc.getViewRoot().getViewId());
>         }
>         log.debug(fc);
>     }
> 
> 
> 2007/8/8, Michał 'Gandalf' Stawicki <stawicki@gmail.com>:
>>
>> Write a bean to store login info and use PhaseListener to check if
>> user is logged in if he wants to access pages that need hi to be
>> logged in, and redirect to login page if he is not.
>>
>> there were some good articles describing this approach. unfortunately
>> I can't share my code.
>>
>>
>> On 08/08/07, ignicolist <ignicolist@gmail.com> wrote:
>> >
>> > is if you could send to me i would apreciate very much.
>> >
>> > TKS
>> >
>> >
>> > Anton Gavazuk wrote:
>> > >
>> > > What you mean  - "filter for sessions"?
>> > > I can send you some pieces of my own app with login\logut funcs
>> > >
>> > > 2007/8/8, ignicolist <ignicolist@gmail.com>:
>> > >>
>> > >>
>> > >> Hi,  i need some help, i have a aplication in jsf, with a sql
>> database
>> > >> using
>> > >> hibernate, and i want implement a login and logout, but i dont know
>> how,
>> > >> i
>> > >> google much, but all the solutions are so complicated. so i have a
>> > >> example
>> > >> with a filter, and a put that filter block the pages for non log
>> users,
>> > >> but
>> > >> i dont know the sufs about sessions and so on... anyone have some
>> example
>> > >> working for i use in my aplication?
>> > >>
>> > >> I just want a simple login logout example, using a filter for
>> sessions.
>> > >>
>> > >>
>> > >> Tks for all the help...
>> > >> --
>> > >> View this message in context:
>> > >> http://www.nabble.com/JSF-Authentication-tf4235729.html#a12051322
>> > >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>> > >>
>> > >>
>> > >
>> > >
>> >
>> > --
>> > View this message in context:
>> http://www.nabble.com/JSF-Authentication-tf4235729.html#a12053317
>> > Sent from the MyFaces - Users mailing list archive at Nabble.com.
>> >
>> >
>>
>>
>> --
>> Michał Stawicki
>>
>> stawicki@gmail.com
>> http://stawicki.jasliska.pl
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/JSF-Authentication-tf4235729.html#a12054521
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Mime
View raw message