Здравствуйте, в рамках разрабатываемого приложения необходима возможность доступа к сохраненным файлам для анонимного пользователя, причем только на просмотр, но не создание, или редактирование.
Я настроил паттерны для anonymous:
jmix.rest.anonymous-url-patterns=/rest/files*,\
/rest/entities/Attachment
Так же создал интерфейс AnonymousRestRole:
@ResourceRole(name = "AnonymousRestRole", code = "anonymous-rest-role", scope = "API")
public interface AnonymousRestRole {
String CODE = "anonymous-rest-role";
@EntityAttributePolicy(entityClass = Attachment.class, attributes = "*", action = EntityAttributePolicyAction.VIEW)
@EntityPolicy(entityClass = Attachment.class, actions = {EntityPolicyAction.READ})
void attachment();
}
И инициализировал анонимного юзера в
@Primary
@Component("UserRepository")
public class DatabaseUserRepository extends AbstractDatabaseUserRepository<User> {
@Override
protected Class<User> getUserClass() {
return User.class;
}
@Override
protected void initSystemUser(User systemUser) {
Collection<GrantedAuthority> authorities = getGrantedAuthoritiesBuilder()
.addResourceRole(FullAccessRole.CODE)
.build();
systemUser.setAuthorities(authorities);
}
@Override
protected void initAnonymousUser(User anonymousUser) {
super.initAnonymousUser(anonymousUser);
Collection<GrantedAuthority> authorities = getGrantedAuthoritiesBuilder()
.addResourceRole(AnonymousRestRole.CODE)
.addResourceRole(RestMinimalRole.CODE)
.build();
anonymousUser.setAuthorities(authorities);
}
}
В итоге после всех действий, при обращении в браузере к файлу, получаю следующую ошибку
{
"error": "File download failed",
"details": "File download is not permitted"
}
Помогите разобраться пожалуйста с этой ошибкой, а так же как ограничить доступ только на просмотр.