Весна не распознает @preauthorize внутри пользовательской аннотацииJAVA

Программисты JAVA общаются здесь
Anonymous
Весна не распознает @preauthorize внутри пользовательской аннотации

Сообщение Anonymous »

Если я использую просто стандартный путь @preauthorize ("hasrole ( @roleproperties.getSelect ()) или Hasrole ( @roleproperties.getotherselect ())") Помимо моих методов RestController, @preauthorize работает отлично, как и должно. Но так как у меня есть очень много методов, для которых я хотел бы использовать ту же самую линию @preauthorize , я подумал, что я должен просто сделать свою собственную простую аннотацию @RequiREROLESELECT :

Код: Выделить всё

    @Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasRole(@roleProperties.getSelect()) or hasRole(@roleProperties.getOtherSelect())")
public @interface RequireRoleSelect {}
Так что мне не нужно писать так долго @preauthroize строки в моих методах контроллера, и, если мне когда -нибудь нужно добавить что -то еще, я мог бы легко изменить свою собственную аннотацию вместо редактирования всех строк @preauthroize . Это делает код просто более читабельным. Одна из следующих аннотаций требуется для методов контроллера: @Secured, @preauthorize, @postauthorize, @Rolesallowed . Что, по моему мнению, кажется, что весна не видит аннотацию @preauthroize внутри моей собственной @RequiRELOLESELECT . Если это становится очень сложным, то, возможно, есть другие способы сразиться с этой «проблемой для вставки копирования»? Я буду приветствовать любое разумное решение.

Подробнее здесь: https://stackoverflow.com/questions/797 ... annotation

Вернуться в «JAVA»