セッションの有効期限が切れたときにメッセージを返す必要があり、セッションの有効期限が切れていない場合は、認証されていないユーザーなどの別のメッセージを返す必要があります。
これは私のコードです。
@GET
@Path("/{userId}")
public Response view(@PathParam("userId")String userId)
{
ResponseBuilder builder = Response.ok();
if(SecurityUtils.getSubject().isAuthenticated())
{
Registeration registeration=new Registeration();
boolean status=registeration.getDetails(userId,builder);
log.debug("the status is:"+status);
}
else
{
builder.status(401).entity("You are currently not login .please Login for Access Services");
}
return builder.build();
}
この上記の残りのサービスは正常に機能しています。ユーザーがログインしていない場合、このメソッドはelse部分のメッセージを返します。しかし、セッションが期限切れになり、ユーザーがこの残りのサービスにアクセスしようとした後、「あなたのセッションが期限切れになりました」を返す必要があるというメッセージも返す必要があります。ただし、上記の場合、セッションの有効期限が切れている場合も同じメッセージが表示され、ユーザーがログインしていない場合も同じメッセージが表示されます。1)ユーザーがログインしていない場合、メッセージ=「ログインしています」2)セッションが期限切れの場合、メッセージ=「セッションが期限切れになりました」という両方の条件を確認する方法がわかりません