我想使用doFilter和我的web.xml頁面強制用戶登錄訪問任何「安全」頁面。doFilter JSF用戶身份驗證
我找到一個例子here,我已經實現了它。雖然我有一個小問題。當我將過濾器定義放入web.xml時,整個網站無法加載。我相信這是因爲我沒有適當的類路徑到包含過濾器的java文件。我向我展示了我的項目瀏覽器旁邊的web.xml頁面。 我希望你能幫助我與所需<filter-class> </filter-class>
類路徑中我也顯示我doFilter method
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
UserBean userBean = (UserBean)((HttpServletRequest)request).getSession().getAttribute("userBean");
if(userBean == null || !userBean.isSuccessfullLogin()){
String contextPath = ((HttpServletRequest)request).getContextPath();
((HttpServletResponse)response).sendRedirect(contextPath + "/index.xhtml");
}
chain.doFilter(request, response);
}
到目前爲止,我的服務器的工作原理,網站運行的其餘部分,但我不能讓過濾器。任何建議都被接受!
謝謝!
你的過濾器是在'Filter'文件夾(讀作Filter' Java包),你的'過濾器-class'定義必須是完全限定的類名(FQN):'Filter.AuthenticationFilter'。文件的屏幕截圖比實際文件更容易閱讀。您應該在下次發佈文件的內容 – kolossus 2014-11-05 16:11:53
這正是我在web.xml中的FQN所設置的內容。過濾器雖然從未被調用過。 – 2014-11-07 21:06:37