protected void checkRequirePermissions(Account account, Method method) { Collection<String> permissions = SecurityUtil.collectPermissions(method); if (!permissions.isEmpty()) { account.checkPermissions(permissions); } }
protected void checkRequirePermissions(Account account, Method method) { Collection<String> permissions = SecurityUtil.collectPermissions(method); if (!permissions.isEmpty()) { account.checkPermissions(permissions); } }
public static Collection<String> collectPermissions(Method method) { List<String> permissions = new ArrayList<>(); permissions.addAll(collectPermissions(method.getAnnotation(RequirePermissions.class))); if (method.isAnnotationPresent(RequirePermission.class)) { permissions.add(method.getAnnotation(RequirePermission.class).value()); } permissions.addAll(collectPermissions(method.getDeclaringClass().getAnnotation(RequirePermissions.class))); if (method.getDeclaringClass().isAnnotationPresent(RequirePermission.class)) { permissions.add(method.getDeclaringClass().getAnnotation(RequirePermission.class).value()); } return permissions; }
public static Collection<String> collectPermissions(Method method) { List<String> permissions = new ArrayList<>(); permissions.addAll(collectPermissions(method.getAnnotation(RequirePermissions.class))); if (method.isAnnotationPresent(RequirePermission.class)) { permissions.add(method.getAnnotation(RequirePermission.class).value()); } permissions.addAll(collectPermissions(method.getDeclaringClass().getAnnotation(RequirePermissions.class))); if (method.getDeclaringClass().isAnnotationPresent(RequirePermission.class)) { permissions.add(method.getDeclaringClass().getAnnotation(RequirePermission.class).value()); } return permissions; }
@Override public Object invoke(MethodInvocation invocation) throws Throwable { Collection<String> permissions = SecurityUtil.collectPermissions(invocation.getMethod()); Account account = getAccount(); account.checkPermissions(permissions); return invocation.proceed(); }
@Override public Object invoke(MethodInvocation invocation) throws Throwable { Collection<String> permissions = SecurityUtil.collectPermissions(invocation.getMethod()); Account account = getAccount(); account.checkPermissions(permissions); return invocation.proceed(); }
@Override public Object invoke(MethodInvocation invocation) throws Throwable { Collection<String> permissions = SecurityUtil.collectPermissions(invocation.getMethod()); Account account = getAccount(); account.checkPermissions(permissions); return invocation.proceed(); }
@Override public Object invoke(MethodInvocation invocation) throws Throwable { Collection<String> permissions = SecurityUtil.collectPermissions(invocation.getMethod()); Account account = getAccount(); account.checkPermissions(permissions); return invocation.proceed(); }