我正在开发 AuthenticationFilter 以在用户未登录时重定向用户。我使用的是 TomEE 7.0.0-M2,因此支持 Java-EE7。
身份验证过滤器
@WebFilter(urlPatterns = "/*", dispatcherTypes = {DispatcherType.FORWARD, DispatcherType.REQUEST})
public class AuthenticationFilter implements Filter {
@Inject
private LoginBean loginBean;
...
登录豆
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
import java.io.Serializable;
@Named
@SessionScoped
public class LoginBean implements Serializable {
问题是注入的 LoginBean 不是 login.xhtml 中的实例。所以我无法验证用户是否成功登录。
LoginBean 不在会话属性中,但我在这里找到了正确的 loginBean ,但我不知道如何访问它。但看起来 bean 在 CDI 中,但我如何从 WebFilter 访问它?