У меня возникли проблемы с настройкой перехватчиков Java EE 6 CDI. Я использую встроенную стеклянную рыбу, я указал перехватчик в beans.xml в веб-приложении.Перехватчики не перехватывают
<beans
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
<interceptors>
<class>ServiceInterceptor</class>
</interceptors>
</beans>
Я пытаюсь защитить этот компонент:
@Named
//@Stateless
@RequestScoped
public class SecuredMethodJSFBean /*implements Serializable*/{
@Inject
protected SecuredMethodSample securedMethodSample;
/*
@CurrentUser
@SessionScoped
@Inject
protected RuntimePrincipalAware principal;
//protected JSFLoginBean jsfLoginBean;
*/
public SecuredMethodJSFBean()
{
super();
System.out.println("creating secured method jsf bean");
}
@Secured("adfadfafd")
public void doSomething()
{
//System.out.println("\n\n\n\nprincipal:" + principal);
//System.out.println("principal:" + jsfLoginBean.getPrincipal());
//securedMethodSample.doSomething(jsfLoginBean.getPrincipal().getName());
//return(jsfLoginBean.getPrincipal().getName());
//securedMethodSample.doSomething(principal.getName());
//return(principal.getName());
//return("secured-method");
securedMethodSample.doSomething("testing ...");
}
}
Что мне нужно сделать, чтобы получить мои перехватчики работает?
Кроме того, я пытаюсь использовать перехватчики для перехвата вызовов метода на бобы, используемые сервлетами. Поскольку эти бобы являются фасолью, я должен уметь их перехватывать. Однако я не могу этого сделать. Сначала я пытался перехватить вызовы методов в сервлетах напрямую, но они не являются CDI-компонентами, поэтому это не имеет смысла.
Спасибо,
Walter
Является ли это полностью квантованное имя перехватчика в beans.xml? Является ли аннотация @Secured определенной как перехватчик? –
Я удалил полное имя по другим причинам, но да, контейнер видит этот файл и анализирует эту строку. Если я вложу что-то фиктивное, оно выдает ошибку. – Walter
Как вы получаете экземпляр этого компонента? – covener