在 PHP 中,当用户登录她的帐户时,我会执行以下操作,以便在用户浏览网站时记住她:
session_start();
...
$_SESSION['username'] = $username;
在可能需要敏感数据的任何其他页面上,我检查它$_SESSION['username']
是否有效。
当使用注销时,我执行以下操作
unset($_SESSION['username']
session_destroy();
我如何在 Java 中做同样的事情?我有一个使用Jersey
和的 REST API EJB
。如果以下内容很重要,我坚持使用 JPA、Hibernate、Glassfish 和 mysql。
更新验证:
它是否正确?
@Path("login")
public class UserLoginResource {
@EJB
private LoginDao loginDao;
@Context
HttpServletRequest request;
@POST
public Response login(JAXBElement<Login> jaxbLogin){
Login login = jaxbLogin.getValue();
loginDao.authenticateUserLogin(login);
HttpSession session = request.getSession();
session.setAttribute("username", login.getUsername());
return Response.ok().build();
}
}