Проблемы безопасности могут быть классифицированы как проблемы аутентификации или авторизации. Ваша проблема - проблема авторизации. Но это не проблема статической авторизации, поскольку она не вызывается из-за конфигурации прав и ролей пользователя, а динамическая, поскольку она связана с тем, что ученик связан с учителем для получения авторизации. выполнить какое-то конкретное действие. Все, что вам нужно, - это ввести пружинную защиту, которую проверяет бизнес, который обеспечивает положительный флаг каждый раз, когда выполняется это отношение.
Если я хорошо понимаю вашу проблему, возможно, вам может понадобиться прочитать и понять класс AccessDecisionManager
из Spring Security.