Я занимаюсь разработкой приложения с JSF и PrimeFaces.У меня был управляемый сеанс, который имеет имя пользователя, пароль и isUserLoggedIn.Когда я обрабатываю компонент входа, он работает и соответственно меняет мою страницу.Как только я перехожу на другую страницу, я теряю данные об имени пользователя.Мне нужно получить доступ к имени пользователя в течение всего приложения.Кто-нибудь знает, почему я теряю данные, которые должны Eb сессии области?почему я скрываю это от одной страницы, а не для других?Спасибо
import authentication.AuthenticatorManagerLocal;
import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@SessionScoped
public class UserMB {
@EJB
private AuthenticatorManagerLocal authenticatorManager;
/** Creates a new instance of UserMB */
public UserMB() {
}
Boolean isUserLoggedIn;
String username;
String password;
String nickName;
public String getNickName() {
nickName="vanessa";
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public Boolean getIsUserLoggedIn() {
return isUserLoggedIn;
}
public void setIsUserLoggedIn(Boolean isUserLoggedIn) {
this.isUserLoggedIn = isUserLoggedIn;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String authenticateUser(){
isUserLoggedIn= authenticatorManager.authenticateUser(username, password);
if(isUserLoggedIn)return "Home";
else
return null;
}
public void logout(){
isUserLoggedIn=false;
username="";
password="";
}
public String goToIndex(){
return "Index";
}
}
HOME имеет
<p:commandButton value="SearchCB" action="#{expSearchResultsMB.search()}" ajax="false" />
внутри пользовательского компонента
expSearchResultsMB.search () отправляет SearchResults, где я хочу отобразить имя пользователя
<h:outputLabel value="#{userMB.username}" />
Мне нужно получить доступ к имени пользователя и isUSerLoggedin на каждой странице приложения.Когда я проверяю, вошел ли пользователь в систему, я запускаю Home, если он есть.Главная показывает имя пользователя правильно, но когда из дома я использую searchCB, целевая страница SearchResults не отображает имя пользователя.
Может кто-нибудь помочь?