Я новичок в Spring AOP (и AOP в целом), мне нужно реализовать следующее:
@HasPermission(operation=SecurityOperation.ACTIVITY_EDIT, object="#act")
public Activity updateActivity(Activity act)
{
...
}
@HasPermission — это моя пользовательская аннотация, которая будет использоваться для пометки всех методов, требующих предварительной авторизации. Я использую собственную реализацию проверок безопасности на основе Apache Shiro. Как правило, я предполагаю, что мне нужно будет определить pointcut, который соответствует всем аннотированным методам, а также обеспечить реализацию аспекта (либо до, либо вокруг).
У меня есть вопросы. реализация аспекта.
- Как извлечь из аннотации параметры operation и object?
- Как я могу разрешить выражение SpEL в определении объекта и передать объект как параметр «act»?