私は学校のためのプロジェクトをやっています。JSFとPrimefacesを使用しています。ただし、JSFプロジェクトでHTML5ファイルが呼び出されたときにサーブレットフィルタを使用して認証を確認します。JSFはHTML5をサポートしていないためです。プロジェクトにはHTML5ページがあります。このページにアクセスするにはログインする必要があります。ただし、ログインせずにHTML5ファイルを呼び出すと、ポップアップ、メッセージ、またはうなり声を開くことができません。
LoginFilterでFacesMessageを使用できますか?
コード:
@WebFilter(urlPatterns = { "/design.html" , "/demodesign.html" } )
public class LoginFilter implements Filter{
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);
UserBean userBean = (UserBean) ((session != null) ? session.getAttribute("userBean") : null);
User member = null;
if ( !(userBean == null) )
member = userBean.getMember();
if (member != null) {
chain.doFilter(request, response);
} else {
response.sendRedirect(welcomeURL);
}
}
}