Неудовлетворенная зависимость Руководитель
Я пытаюсь реализовать quarkus-расширение для авторизации / аутентификации. Я использовал существующий quarkus-smallrye-jwt-abx
расширение в качестве примера. Кажется, все работает нормально, за исключением того, что я не могу ввести Principal
:
@Inject
private Principal principal;
я собираюсь
Неудовлетворенная зависимость для типа java.security.Principal и квалификаторов [@Default]
Инъекционное SecurityContext
и получить Principal
из него нормально работает
@Context
private SecurityContext sec;
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("test")
public String test() {
return sec.getUserPrincipal().getName();
}
В quarkus-smallrye-jwt-abx
расширение, есть PrincipalProducer
, который, кажется, производит Principal
, Это действительно необходимо? Разве это не обеспечивается самой подсистемой безопасности? Это также обеспечивает SecurityContext
почему это не должно обеспечить Principal
?
Спасибо!
2 ответа
Это ошибка в текущей интеграции resteasy / CDI, поскольку мы не предоставляем значение по умолчанию, основанное на JAX-RS SecurityContext. Расширение quarkus-smallrye-jwt предоставляет PrincipalProducer для переопределения по умолчанию, поскольку оно устанавливает принципал, который является подынтерфейсом java.security.Principal. Текущий обходной путь будет заключаться в обеспечении вашего собственного основного производителя.
Для этого есть сообщение об ошибке: https://github.com/quarkusio/quarkus/issues/2528
Пожалуйста, проверьте свой Манифест Android, это обычно означает, что вы используете услугу, не объявленную.
Перейти к манифесту и добавить
<uses android-permission = "Read External storage..... />
Надеюсь, что решает проблему кодер