我正在开发和测试JAAS Web应用程序。我的Web应用程序正在检查日志记录,注销,当用户从系统注销时,会话被删除,然后重定向到日志页面。 现在我添加到实现记住我工作用户cookie。 我添加到字段记住用户模型类。我有一个问题。当我没有检查记住我按钮登录时,系统发送消息“空值!!!” 用户模型类:
public class User{
private String userId;
private String password;
private String server;
private boolean remember;
public String getUserId() {
if(remember == false){
userId = "";
return userId;
}
else{
return userId;
}
}
public String getPassword() {
if(remember == false){
password = "";
return password;
}
else{
return password;
}
}
// Getter setter function
.........................
记录方法
@ManagedBean(name="userController")
public class UserController(){
private String remember1 = "";
private User user;
public void login(){
if(){
.....................
acesContext.getCurrentInstance().getExternalContext()
.getSessionMap()
.put(AUTH_KEY, user.getUserId());
FacesContext facesContext = FacesContext.getCurrentInstance();
Cookie cookie_user = new Cookie("userId", user.getUserId());
Cookie cookie_password = new Cookie("password",user.getPassword());
Cookie cookie_server = new Cookie("server", user.getServer());
if (user.getRemember() == false) {
remember1 = "false";
} else {
remember1 = "true";
}
Cookie btnremember = new Cookie("btnremember", remember1);
cookie_user.setMaxAge(3600);
cookie_password.setMaxAge(3600);
cookie_server.setMaxAge(3600);
cookie_database.setMaxAge(3600);
((HttpServletResponse) facesContext.getExternalContext()
.getResponse()).addCookie(cookie_user);
((HttpServletResponse) facesContext.getExternalContext()
.getResponse()).addCookie(cookie_password);
((HttpServletResponse) facesContext.getExternalContext()
.getResponse()).addCookie(cookie_server);
((HttpServletResponse) facesContext.getExternalContext()
.getResponse()).addCookie(btnremember);
return "success";
}else
tools.addErrorMessage(String
.format("Empty value !!!"));
return "failed";
}
登录页面
<h:selectBooleanCheckbox id="remember" required="true"
value="#{userController.user.remember}" onclick="return check(this);" />
<p:tooltip for="remember" value="remember me"></p:tooltip>