我正在为安全性实施 java shiro。我需要在会话过期时返回消息,如果会话未过期,那么我需要返回不同的消息,例如 un Authenticate user。
这是我的代码。
@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();
}
以上休息服务工作正常。当用户未登录时。此方法将返回其他部分的消息。但我还需要返回消息,在会话过期并且用户尝试访问此休息服务之后,我需要返回“您的会话已过期”。但在上述情况下,如果会话过期,则消息相同,如果用户未登录,则消息也相同。我不知道我将如何检查这两个条件:1)如果用户未登录,则消息 =“您正在登录”2)如果会话已过期,则消息 =“您的会话已过期”