更改密码后如何以编程方式验证用户身份?使用j_security_check进行基于表单的身份验证用于登录

时间:2016-04-14 17:02:32

标签: java authentication

如何在更改密码后以编程方式验证用户身份?使用j_security_check进行基于表单的身份验证用于登录。更改密码后,用户将被重定向到主页(这是必需的),但是当提交屏幕或单击链接/按钮时,用户将被重定向回登录页面。我认为这是因为用于在后台进行身份验证的密码仍然是旧密码。

1 个答案:

答案 0 :(得分:0)

如果你能得到HttpServletRequest(这是JSF中的一个例子),你可以从那里打电话给login()

FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getRequest();
request.login(username, password);

奖励信息:要将当前用户注销,您可以在invalidate()上致电HttpSession

FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession)context.getExternalContext().getSession(true);
session.invalidate();