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 <[EMAIL PROTECTED]>:
>>
>> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>:
>> > >>
>> > >>
>> > >> 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
>>
>> [EMAIL PROTECTED]
>> 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.