#cas
#cas
Вопрос:
В моей рабочей области есть две разные группы людей. У тех, кто является постоянным персоналом, будет свой идентификатор, начинающийся с s
и за которым следует последовательность цифр. например s123456789
. Те, кто не является постоянным персоналом, будут иметь свой идентификатор во всех цифрах. например 81234567
.
Обычный персонал будет аутентифицироваться на сервере LDAP. Нерегулярный персонал будет аутентифицирован через RESTful api.
Я хочу добавить службу, которая реализует описанную выше стратегию.
Сначала он проверяет, является ли идентификатор, начинающийся с s
if so, затем выполняет аутентификацию с использованием LDAP. Если нет, выполните аутентификацию с помощью rest api.
После просмотра официальной документации CAS, я думаю, что этого может достичь только пользовательский обработчик аутентификации. Но как мне начать работу с cas-overlay-template? Любое направление?
Ответ №1:
Для разработки пользовательских обработчиков аутентификации общие задачи могут быть классифицированы следующим образом:
- Создайте обработчик аутентификации
public class MyAuthenticationHandler extends AbstractUsernamePasswordAuthenticationHandler {
}
- Зарегистрируйте обработчик аутентификации в механизме аутентификации CAS.
public class MyAuthenticationEventExecutionPlanConfiguration
implements AuthenticationEventExecutionPlanConfigurer {
@Autowired
private CasConfigurationProperties casProperties;
@Bean
public AuthenticationHandler myAuthenticationHandler() {
var handler = new MyAuthenticationHandler();
return h;
}
@Override
public void configureAuthenticationExecutionPlan(final AuthenticationEventExecutionPlan plan) {
plan.registerAuthenticationHandler(myAuthenticationHandler());
}
}
- Попросите CAS распознать регистрационную запись и конфигурацию аутентификации.
org.springframework.boot.autoconfigure.EnableAutoConfiguration=
com.example.cas.MyAuthenticationEventExecutionPlanConfiguration
Смотрите эту ссылку для заметок и деталей.