user と adminUser の 2 人のユーザーがいます。
ログイン画面例:
<h:panelGroup id="messagePanel" layout="block">
<rich:notifyMessages stayTime="2000" nonblocking="true"/>
</h:panelGroup>
<h:inputText id="username" value="#{LoginManager.userName}" title="#{bundle.CreateEmployeesTitle_employeeNo}" required="true" requiredMessage="#{bundle.LoginUsernameRequired}" pt:placeholder="Username"/>
<h:inputText id="password" value="#{LoginManager.password}" title="#{bundle.CreateEmployeesTitle_employeeNo}" required="true" requiredMessage="#{bundle.LoginPasswordRequired}" pt:placeholder="Password"/>
<h:commandLink action="#{LoginManager.loginAction}" value="#{bundle.LoginTabTitle}" styleClass="linkbutton" />
my loginManager は、ユーザー名とパスワードが一致してデータベースに存在することを検証し、ユーザー admin の場合は loginPassAdmin を返し、ユーザー user の場合は loginPass を返し、ユーザー名とパスワードが一致または存在しない場合は loginFail を返します。したがって、ログイン画面で loginAction が loginFail で返されたときに、可能であれば同じページに通知を表示したいと思いますか?
loginManager の一部:
if (userStatus != null) {
if (userStatus.equalsIgnoreCase("adminUser")) {
action = "loginPassAdmin";
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("username", userName);
} else if (userStatus.equalsIgnoreCase("nonAdmin")) {
action = "loginPass";
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("username", userName);
} else {
action = "loginFail";
}
} else {
action = "loginFail";
}
return action;
}
ありがとう/よろしく