我将许多可选图像(人物照片)从Java通过JSON发送回AJAX并以HTML格式显示。对于每个图像,我发送一个与人的ID相对应的参数。仅显示他们有权查看的人的图像。选择图像后,此ID参数用于获取所选人员的详细信息并将其显示在新的HTML页面上。
最大的问题是,用户可以轻松更改此参数,以显示他们可能无权访问的其他人的详细信息。我可以通过检查图像ID是否在该人有权访问的组中来解决这个问题。但是,有没有办法以这样一种方式存储ID,使其无法更改并仍然附加到图像上,因此当选择图像时,我可以访问正确的ID并显示详细信息,因为知道ID尚未更改用户?
java代码是:
String json = null;
int i = 0;
int col = 1;
for (final YouthMember youthMember : youthMembers) {
String image = youthMember.getPhotograph();
String name = youthMember.getFirstname() + " " + youthMember.getSurname();
if (i == 0){
json = "<div class='row'><div class='col-md-1'><a href='CubAwardOverview.html?id=" + youthMember.getId() +
"'><img src=" +
image + " height='60' width='60' style='border-style: none' alt='person image' /></a>" +
"<div class='caption'> <p>" + name + "</p> </div></div>";
i++; col++;
}else{
if (col > 12){
json = json + "</div><div class='row'>";
col = 1;
}
json = json + "<div class='col-md-1'><a href='CubAwardOverview.html?id=" + youthMember.getId() +
"'><img src=" +
image + " height='60' width='60' style='border-style: none' alt='person image' /></a>" +
"<div class='caption'> <p>" + name + "</p> </div></div>";
col++;
}
}
if (col > 0){
json = json + "</div>";
}
response.setContentType("image/jpeg");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);