В моей конфигурации есть перехватчик, и я хочу запретить доступ к ресурсам других пользователей. Внутри WebMvcConfig (реализует WebMvcConfigurer) у меня есть:
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new FolderInterceptor(userService, folderService))
.addPathPatterns(Mapping.FOLDER_MAPPING + "/{id}",
Mapping.UPDATE_FOLDER_MAPPING + "/{id}",
Mapping.DELETE_FOLDER_MAPPING + "/{id}",
Mapping.DOWNLOAD_FOLDER_MAPPING + "/{id}");
}
В моем FolderInterceptor у меня есть метод preHandle для получения доступа к папке и проверки ее владельца:
Map pathVariables = (Map) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
Long id = Long.valueOf((String) pathVariables.get("id"));
User user = userService.getLoggedAccount();
if (folderService.existsById(id)) {
Folder folder = folderService.findById(id);
if (folder.getOwner().getId().equals(user.getId())) {
return true;
}
else {
response.sendError(403, "Unauthorized");
return false;
}
}
else {
response.sendError(404, "Folder does not exist");
return false;
}
Если я распечатываю объект папки, у меня появляется та же ошибка в этой строке.
org.hibernate.LazyInitializationException: could not initialize proxy.
Спасибо за вашу помощь.