Если у вас есть два абсолютно непересекающихся механизма, вам, вероятно, следует исправить это на верхних уровнях (начиная с пользовательского интерфейса).Например, если пользователь использует аутентификацию LDAP, вы бы отправили флаг (например, заголовок HTTP), который бы указывал, какой тип аутентификации использовать.Затем вы можете реализовать собственный фильтр, который будет выполнять определенный тип аутентификации (программно).
Я не знаю ни одного другого решения, которое могло бы делать то, что вы хотите во время выполнения.