Носитель аутентификации alfresco sdk с собственным фильтром

Я начал использовать последнюю версию Alfresck SDK (все в одном). Я пытаюсь настроить аутентификацию в Alfresco. Я настроил новую аутентификацию с помощью документации: аутентификация, но я хотите обеспечить базовую аутентификацию JWT Token. Когда я пытаюсь пройти через http-заголовок: Authorization: Bearer mytoken - он перехватывается BasicHttpAuthenticatorFactory из дочернего класса RemoteUserAuthenticatorFactory и говорит, что он не поддерживается. Как передать свой собственный токен носителя, а затем вызвать: публичная аутентификация аутентификации (аутентификация аутентификации) вызывает метод AuthenticationException? Я не вижу документации по добавлению новых собственных фильтров сервлетов.


person falcon    schedule 08.08.2016    source источник
comment
У меня такая же проблема, ты использовал Restful Api?!?   -  person Yagami Light    schedule 08.08.2016
comment
Я использую Alfresco REST API   -  person falcon    schedule 09.08.2016
comment
в этом случае вы должны добавить аутентификацию к вашему запросу, чтобы сначала войти в систему, а затем выполнить его.   -  person Yagami Light    schedule 09.08.2016
comment
Вы можете использовать почтальона, чтобы проверить, о чем я говорю, вы знаете почтальона?!?   -  person Yagami Light    schedule 09.08.2016
comment
Да я знаю, я добавил в заголовок запроса авторизацию: Bearer mytokenhere   -  person falcon    schedule 10.08.2016
comment
я думаю, что у вас есть правильный ответ, это сделано   -  person Yagami Light    schedule 10.08.2016


Ответы (1)


Предполагая, что вы используете версию 5.x (4.something также может работать) Alfresco, а ваш контейнер сервлетов поддерживает спецификацию Servlet 3 (Tomcat 7 поставляется с Alfresco 5.x в порядке), вы можете добавить фильтр сервлетов, выполнив следующие действия. спецификация - аннотация или веб-фрагмент.

Не совсем уверен в вашем сценарии, но я добавил аутентификацию OAuth для общего доступа без использования API сервлета. Включил пользовательский компонент аутентификации в цепочку и добавил несколько настроек (LoginController и т. д.) для общего доступа.

person Andreas Steffan    schedule 08.08.2016
comment
Аннотация WebFilter работает правильно. Могу я спросить вас, как вы добавили oauth для отказа от Servlet API? Я вижу, что требуется модификация web.xml, но в alfresco-sdk все в одном нет файлов web.xml в проекте перед развертыванием приложения. - person falcon; 09.08.2016
comment
Я не использую SDK, но я совершенно уверен, что среда разработки должна подбирать аннотации в ваших классах. Следовательно, не должно быть необходимости возиться с дескрипторами xml. Как я уже сказал, не совсем уверен в вашем сценарии. Мне не нужен API-интерфейс сервлета, API веб-скриптов уже предоставил все, что мне нужно для работы с HTTP-запросами/ответами. - person Andreas Steffan; 09.08.2016
comment
Возвращаясь к теме собственного фильтра. Я использовал bean-компонент Alfresco authenticationUtil для установки аутентификации (метод setFullyAuthenticatedUser), хотя после этой операции, когда я вызываю doFilter в цепочке, аутентификация сбрасывается RepositoryContainer и не работает. У вас есть идеи, как сохранить эту аутентификацию из моего собственного фильтра? Возможно, этот подход неуместен и не будет работать. - person falcon; 11.08.2016
comment
Почему бы не работать в рамках RepositoryContainer? Зачем вам нужно иметь дело с Servlet API? - person Andreas Steffan; 11.08.2016