Я хочу создать приложение Quarkus, в котором некоторые конечные точки должны быть авторизованы через аутентификацию LDAP. Как это сделать?
В моем файле application.properties у меня есть следующая конфигурация:
Я ожидал, что это возьмет имя пользователя, предоставленное basic-auth запроса GET, и выполнит поиск этого sAMAccountName в AD.
Контроллер, с которым я тестирую, выглядит так:
Если я запущу приложение и протестирую его с помощью postman: basic-auth: testUser:testPassword. Я всегда получаю 401 unauthorized
quarkus.security.ldap.enabled=true
quarkus.security.ldap.dir-context.principal=CN=myServiceUser,OU=Service Accounts,OU=2236,OU=Companies,DC=server,DC=root,DC=local
quarkus.security.ldap.dir-context.url=ldaps://myLdapUrl:636
quarkus.security.ldap.dir-context.password=myPassword
quarkus.security.ldap.identity-mapping.rdn-identifier=sAMAccountName
quarkus.security.ldap.identity-mapping.search-base-dn=OU=Linz,OU=Users,OU=Office,OU=2236,OU=Companies,DC=server,DC=root,DC=local
@Path("/authenticate")
public class AuthenticationController {
@GET
@Authenticated
@Produces(MediaType.TEXT_PLAIN)
public Response test(){
return Response.ok().build();
}
}
Клавдий
Вопрос задан15 марта 2024 г.