PHP では、ユーザーが自分のアカウントにログインすると、ユーザーがサイトをナビゲートするときにユーザーを記憶するために次のことを行います。
session_start();
...
$_SESSION['username'] = $username;
機密データを必要とする可能性のある他のページでは、それ$_SESSION['username']
が有効であることを確認します。
ユーザーがログアウトすると、次のことを行います
unset($_SESSION['username']
session_destroy();
Javaで同じことを行うにはどうすればよいですか? と を使用する REST API がありJersey
ます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();
}
}